以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=55166) |
-- 作者:zhuangjiefa -- 发布时间:2014/8/12 9:19:00 -- [求助] 各位大侠,我是新手,刚试着学写代码,我想从表中获取每行非零数字(去除重复后)的个数,在第十列显示,如图所示,我该如何写代码?搞了好几天了,都没搞定,希望好心人帮帮忙!!不胜感激!!! [此贴子已经被作者于2014-8-12 9:21:06编辑过]
|
-- 作者:Bin -- 发布时间:2014/8/12 9:21:00 -- 显示到哪里去呢?请上个例子.显示到最后一列? 可以利用DataCloChanged遍历列来统计 |
-- 作者:zhuangjiefa -- 发布时间:2014/8/12 9:22:00 -- 对,显示到最后一列 |
-- 作者:zhuangjiefa -- 发布时间:2014/8/12 9:23:00 -- 遍历完了怎么去除重复值? |
-- 作者:Bin -- 发布时间:2014/8/12 9:25:00 -- DataCloChanged 事件 If e.DataCol.name <> "最后一列列名" Then Dim lis As new List(of String) For Each dc As DataCol In e.DataTable.DataCols If dc.name <> "最后一列列名" Then If lis.Contains(e.DataRow(dc.name))=False Then lis.Add(e.DataRow(dc.name)) End If End If Next e.DataRow("最后一列列名")=lis.Count End If |
-- 作者:yan2006l -- 发布时间:2014/8/12 9:37:00 -- 你弄两个集合,jh1={1,2,3,4,5,6,7,8,9} jh2=空的集合 你遍历的时候拿集合1先判断一下,如果contains :那么jh2再判断一下contains,如果不contains那么集合2就add这个数 最后答案= jh2.count [此贴子已经被作者于2014-8-12 9:39:08编辑过]
|
-- 作者:神莱之币 -- 发布时间:2014/8/12 9:47:00 -- 顶楼上的思路,不过我觉得不需要jh1,直接判断不是0就可以了 |
-- 作者:zhuangjiefa -- 发布时间:2014/8/12 10:32:00 -- 哥哥们,详细说一下,我在命令里,可以把每行重复的值取出来,但是怎样把重复的值去掉? |
-- 作者:有点甜 -- 发布时间:2014/8/12 10:35:00 -- DataCloChanged 事件
If e.DataCol.name <> "最后一列列名" Then
Dim lis As new List(of String)
For Each dc As DataCol In e.DataTable.DataCols
If dc.name <> "最后一列列名" Then
If lis.Contains(e.DataRow(dc.name))=False Then
lis.Add(e.DataRow(dc.name))
End If
End If
Next
e.DataRow("最后一列列名")=lis.Count
End If
|
-- 作者:zhuangjiefa -- 发布时间:2014/8/12 12:33:00 -- 谢谢,哥哥们的帮忙,小弟不胜感激!! |