以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]Datacolo change  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=70363)

--  作者:blsu33
--  发布时间:2015/6/19 15:24:00
--  [求助]Datacolo change
老师,
   希望您给指导一下,在表A不增加列的情况下如何实现:
Dim LEV As Integer=0
Dim DRS As List (OF DataRow)
Dim r As DataRow
Select e.DataCol.Name
    Case "人员"
        DRS=e.DataTable.Select("人员 Like \'%\\"& e.NewValue &"\'or 人员 Like \'"& e.NewValue &"\\%\' or 人员 Like \'%\\"& e.NewValue &"\\%\' or 人员 =\'"& e.NewValue &"\'")
        If drs IsNot Nothing Then
            For Each DR As DataRow In drs
                Dim i As Integer=0
                i=Val(dr("编码").SubString(2,1))
                If lev<=i Then
                    lev=i
                    MessageBox.Show(lev)
                    If DataTables("表B").Find("姓名 Like \'%\\"& e.NewValue &"\'or 姓名 Like \'"& e.NewValue &"\\%\' or 姓名 Like \'%\\"& e.NewValue &"\\%\' or 姓名 =\'"& e.NewValue &"\'") IsNot Nothing Then\'这块怎么写
                        r("级别")=lev\' 希望表B能计算级别列
                    End If
                Else
                    Continue For
                End If
            Next
        End If
End Select
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:级次.foxdb




--  作者:blsu33
--  发布时间:2015/6/19 15:31:00
--  
注明
表a人员列增加人员例如:王五\\ 希望表B 根据表A的重新筛选 王五的所有行 自动重新计算表B 王五的级别

--  作者:大红袍
--  发布时间:2015/6/19 16:03:00
--  
Dim LEV As Integer=0
Dim DRS As List (OF DataRow)
Dim r As DataRow
Select e.DataCol.Name
    Case "人员"
        DRS=e.DataTable.Select("人员 Like \'%\\"& e.NewValue &"\'or 人员 Like \'"& e.NewValue &"\\%\' or 人员 Like \'%\\"& e.NewValue &"\\%\' or 人员 =\'"& e.NewValue &"\'")
        For Each DR As DataRow In drs
            Dim i As Integer=0
            i=Val(dr("编码").SubString(2,1))
            If lev<=i Then
                lev=i
            Else
                Continue For
            End If
        Next
        Dim ary As String() = e.NewValue.split("\\")
        For Each a As String In ary
            Dim fdr As DataRow = DataTables("表B").Find("姓名 = \'" & a & "\'")
            If fdr IsNot Nothing Then\'这块怎么写
                fdr("级别")=lev
            End If
        Next
End Select

--  作者:blsu33
--  发布时间:2015/6/19 16:14:00
--  
谢谢老师 端午快乐