以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何用DrawCell事件标记不连续的编号?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=15413)

--  作者:pc005637
--  发布时间:2011/12/24 13:35:00
--  如何用DrawCell事件标记不连续的编号?

网络环境使用狐表。

表的编号列(字符属性)要求是连续不间断的整数,以1为序列间隔。比如:20110001,20110002,20110003........

因为是网络环境,所以有时候生成的编号可能会给删除了。会造成缺失。成了:20110001,20110003,2011004......这样子。

如果是几十条数据还好,看一下就可以知道哪里缺失了,及时补回来。如果是几百,几千条数据,就很麻烦。

能否用代码,将“编号列”排序后,与上一行间隔超过1的单元格标记出来?这样就方便多了。

谢谢。

[此贴子已经被作者于2011-12-25 9:26:27编辑过]

--  作者:czy
--  发布时间:2011/12/24 14:39:00
--  

不知道drawcell频繁执行能不能吃得消

 

Dim dr As DataRow = DataTables("表A").Find("编号 < \'" & e.Row("编号") & "\'","_SortKey Desc")
If dr IsNot Nothing Then
    If e.Row("编号") - dr("编号") > 1 Then
        e.Style = "编号缺失"
    End If
End If


--  作者:pc005637
--  发布时间:2011/12/25 9:25:00
--  谢谢。

谢谢版主。

排序后,显示出来就行了。

网络环境,编号的输入可能不是按顺序输入的。

另外狐爸爸,有什么好招?

[此贴子已经被作者于2011-12-25 9:49:08编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/12/25 9:49:00
--  

没有好的办法,其实应该允许编号缺失的。


--  作者:pc005637
--  发布时间:2011/12/25 10:15:00
--  没办法,有些要上报的编号是要求不能缺失的。
中国的制度就是这样。缺失一个要上报多个部分确认。很麻烦。图片点击可在新窗口打开查看