以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [灌水]一个多列排查重复输入的函数  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=74699)

--  作者:2
--  发布时间:2015/9/16 22:51:00
--  [灌水]一个多列排查重复输入的函数
\'=========================================================
\'功能:排查多列重复内容
\'参数dr:当前行
\'参数clnames: 字符串,要排查的列,以 "第一列,第二列,...." 格式传入
\'参娄 ecol: 当前列
\'========================================================
Dim dr As DataRow=args(0)\'参与比较的行
Dim cln As String=args(1)\'参与比较的所有列
Dim ecol As String=args(2)\'当前列
Dim clnames() As String
clnames=cln.split(",") 
If dr(ecol)>"" Then
    Dim Lclname As New List(Of String)
    Dim str1 As new List(of String) \'参与比较的内容
    Dim str2() As String=dr(ecol).split(",") \'将需要排查的当前列数据转为数组
    Lclname.AddRange(clnames) \'将数组加入集合,集合相比数组更灵活操作
    Lclname.Remove(ecol) \'去掉当前列
    For Each s As String In Lclname \'将比较的内容转化成数组
        If dr(s)>"" Then
            str1.AddRange(dr(s).split(","))
        End If
    Next
    For Each s2 As String In str2 \'如果找到重复的返回true
        If str1.Contains(s2) Then
            Return True
        End If
    Next
Else
    Return False \'空值不参与比较
End If
图片点击可在新窗口打开查看此主题相关图片如下:jdfw.gif
图片点击可在新窗口打开查看
[此贴子已经被作者于2015/9/16 22:53:01编辑过]

--  作者:大红袍
--  发布时间:2015/9/16 22:52:00
--  
mark 一下