以文本方式查看主题

-  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
--  [求助]


图片点击可在新窗口打开查看此主题相关图片如下:tu.jpg
图片点击可在新窗口打开查看

各位大侠,我是新手,刚试着学写代码,我想从表中获取每行非零数字(去除重复后)的个数,在第十列显示,如图所示,我该如何写代码?搞了好几天了,都没搞定,希望好心人帮帮忙!!不胜感激!!!

[此贴子已经被作者于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
--  
谢谢,哥哥们的帮忙,小弟不胜感激!!