以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助,根据某一列数据,自动生成排序号的设置!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2192)

--  作者:byzy3260
--  发布时间:2009/3/24 15:06:00
--  求助,根据某一列数据,自动生成排序号的设置!
求助,根据某一列数据的变化,在“排序”列自动生成排序号如何设置!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.table


--  作者:czy
--  发布时间:2009/3/24 15:20:00
--  
DataColChanged事件。

if e.DataCol.Name = "第二列" Then
    Dim bjs As List(Of String) = DataTables("表A").GetUniqueValues("","第二列")
    For Each bj As String In bjs
        Dim drs As List(Of DataRow) = DataTables("表A").Select("", "第二列 DESC")
        For n As integer = 0 To drs.Count - 1
            drs(n)("排序") = n + 1
        Next
    Next
End If

--  作者:byzy3260
--  发布时间:2009/3/24 15:55:00
--  
对不起,老师,不知什么原因,在表属性DataColChanged事件设置后没有成功!
--  作者:kylin
--  发布时间:2009/3/24 15:58:00
--  
以下是引用czy在2009-3-24 15:20:00的发言:
DataColChanged事件。

if e.DataCol.Name = "第二列" Then
    Dim bjs As List(Of String) = DataTables("表A").GetUniqueValues("","第二列")
    For Each bj As String In bjs
        Dim drs As List(Of DataRow) = DataTables("表A").Select("", "第二列 DESC")
        For n As integer = 0 To drs.Count - 1
            drs(n)("排序") = n + 1
        Next
    Next
End If

学习了


--  作者:czy
--  发布时间:2009/3/24 15:59:00
--  

首次设置后点一下重置按钮。
以后只要在第二列输入数据即可自动排号。


--  作者:byzy3260
--  发布时间:2009/3/24 17:14:00
--  
再麻烦一下,第二列中空白时不参与排序的设置是什么?
--  作者:czy
--  发布时间:2009/3/24 17:37:00
--  
if e.DataCol.Name = "第二列" And e.DataRow.IsNull("第二列") = False Then
    Dim bjs As List(Of String) = DataTables("表A").GetUniqueValues("","第二列")
    For Each bj As String In bjs
        Dim drs As List(Of DataRow) = DataTables("表A").Select("", "第二列 DESC")
        For n As integer = 0 To drs.Count - 1
            drs(n)("排序") = n + 1
        Next
    Next
End If