以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于重置的问题再次请教专家!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95271)

--  作者:yeshuping5045
--  发布时间:2017/1/14 19:30:00
--  [求助]关于重置的问题再次请教专家!
我有父表(客户类别),有1列(是否跨省,字符型),子表(结算客户)有1列(是否跨省,表达式列,取自父表),父表是否跨省内容有改动,将重置子表是否跨省列的内容,在父表的DataColChanged中加代码报错,请指教一下,谢谢各位狐家族成员!

If e.DataCol.name = "是否跨省" Then
    Dim pr As List(Of DataRow) = e.DataRow.GetChildRows("客户联系表") 
    If pr IsNot Nothing Then
        DataTables("客户联系表").DataCols("是否跨省").RaiseDataColChanged() 
    End If
End If


代码加上下面PR就不行了,请教高手!

If e.DataCol.name = "是否跨省" Then
    Dim pr As List(Of DataRow) = e.DataRow.GetChildRows("客户联系表") 
    If pr IsNot Nothing Then
        DataTables("客户联系表").DataCols("是否跨省").RaiseDataColChanged(pr
    End If
End If

--  作者:y2287958
--  发布时间:2017/1/14 22:01:00
--  
这个PR可是行集合来的
--  作者:有点色
--  发布时间:2017/1/15 11:45:00
--  

1、既然是表达式列,就不需要写代码了。你写代码就是多余的。

 

2、如果你把列改成数据列,那代码这样写

 

If e.DataCol.name = "是否跨省" Then
    For Each pr As DataRow In e.DataRow.GetChildRows("客户联系表")
        DataTables("客户联系表").DataCols("是否跨省").RaiseDataColChanged(pr)
    Next
End If