以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助DataColChanging中find的写法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85470)

--  作者:lzzhx
--  发布时间:2016/5/26 14:08:00
--  求助DataColChanging中find的写法
DataColChanging】事件        下面代码如何修改才正常

Dim flt As String
Dim dr As DataRow 
Select Case e.DataCol.Name
    Case "类别"
        flt = "(类别 = \'" & e.NewValue & "\') and (类别项目 = \'" & e.DataRow("类别项目") & "\') and (项目属性 = \'" & e.DataRow("项目属性") & "\') and (分类 = \'" & e.DataRow("分类") & "\')"
    Case "类别项目"
        flt = "类别 = \'" & e.DataRow("类别") & "\' and 类别项目 = \'" & e.NewValue & "\' and 项目属性 = \'" & e.DataRow("项目属性") & "\' and 分类 = \'" & e.DataRow("分类") & "\'"
    Case "项目属性"
        flt = "类别 = \'" & e.DataRow("类别") & "\' and 类别项目 = \'" & e.DataRow("类别项目") & "\' and 项目属性 = \'" & e.NewValue & "\' and 分类 = \'" & e.DataRow("分类") & "\'"
    Case "分类"
        flt = "类别 = \'" & e.DataRow("类别") & "\' and 类别项目 = \'" & e.DataRow("类别项目") & "\' and 项目属性 = \'" & e.DataRow("项目属性") & "\' and 分类 = \'" & e.NewValue & "\'"
End Select
dr = e.DataTable.Find(" & flt & """)
If dr IsNot Nothing Then
    MessageBox.Show("类别项目重复!")
    e.Cancel = True
End If





--  作者:大红袍
--  发布时间:2016/5/26 14:15:00
--  
Select Case e.DataCol.name
    Case "类别","类别项目","项目属性","分类"
        Dim flt As String
        Dim dr As DataRow
        Select Case e.DataCol.Name
            Case "类别"
                flt = "(类别 = \'" & e.NewValue & "\') and (类别项目 = \'" & e.DataRow("类别项目") & "\') and (项目属性 = \'" & e.DataRow("项目属性") & "\') and (分类 = \'" & e.DataRow("分类") & "\')"
            Case "类别项目"
                flt = "类别 = \'" & e.DataRow("类别") & "\' and 类别项目 = \'" & e.NewValue & "\' and 项目属性 = \'" & e.DataRow("项目属性") & "\' and 分类 = \'" & e.DataRow("分类") & "\'"
            Case "项目属性"
                flt = "类别 = \'" & e.DataRow("类别") & "\' and 类别项目 = \'" & e.DataRow("类别项目") & "\' and 项目属性 = \'" & e.NewValue & "\' and 分类 = \'" & e.DataRow("分类") & "\'"
            Case "分类"
                flt = "类别 = \'" & e.DataRow("类别") & "\' and 类别项目 = \'" & e.DataRow("类别项目") & "\' and 项目属性 = \'" & e.DataRow("项目属性") & "\' and 分类 = \'" & e.NewValue & "\'"
        End Select
        dr = e.DataTable.Find(flt)
        If dr IsNot Nothing Then
            MessageBox.Show("类别项目重复!")
            e.Cancel = True
        End If
End Select

--  作者:lzzhx
--  发布时间:2016/5/26 14:38:00
--  
flt的内容可能有问题,重复时不提醒
--  作者:lzzhx
--  发布时间:2016/5/26 14:48:00
--  
正常了,谢谢老师