Foxtable(狐表)用户栏目专家坐堂 → 输出DataTable中所有列的类型为数字类型的列名


  共有1971人关注过本帖树形打印复制链接

主题:输出DataTable中所有列的类型为数字类型的列名

帅哥哟,离线,有人找我吗?
237756360
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:257 积分:2960 威望:0 精华:0 注册:2020/5/21 17:56:00
输出DataTable中所有列的类型为数字类型的列名  发帖心情 Post By:2020/7/9 20:59:00 [显示全部帖子]

请问,蓝板,输出DataTable中所有列的类型为数字类型的列名,应该怎么做!麻烦了

 回到顶部
帅哥哟,离线,有人找我吗?
237756360
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:257 积分:2960 威望:0 精华:0 注册:2020/5/21 17:56:00
  发帖心情 Post By:2020/7/9 21:40:00 [显示全部帖子]

第一步研究明白了。
For Each Colname As DataCol In DataTables("表名").DataCols
    If Colname.IsNumeric Then
        Output.Show(Colname.name)
    End If
Next


请问第二步应该怎么搞
Dim namess As List(of String)'定义namess集合
For Each Colname As DataCol In DataTables("表A").DataCols '遍历表A的所有列
    If Colname.IsNumeric Then '判断列的属性是数字型
        请问将判断出来的列明放入namess集合的代码应该怎么写
    End If
Next
Output.Show(namess)

[此贴子已经被作者于2020/7/9 22:04:11编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
237756360
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:257 积分:2960 威望:0 精华:0 注册:2020/5/21 17:56:00
  发帖心情 Post By:2020/7/9 22:20:00 [显示全部帖子]

Dim namess As New List(of String)'定义namess集合
For Each Colname As DataCol In DataTables("电参日报").DataCols '遍历表A的所有列
    If Colname.IsNumeric Then '判断列的属性是数字型
        namess.Add(Colname.Name)
    End If
Next
For Each nm As String In namess
Output.Show(nm)
Next


解决了,前面加入集合成功了,后面输出写的有问题,导致报错

 回到顶部
帅哥哟,离线,有人找我吗?
237756360
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:257 积分:2960 威望:0 精华:0 注册:2020/5/21 17:56:00
  发帖心情 Post By:2020/7/9 22:51:00 [显示全部帖子]

本人小白,刚刚接触狐表。分享今晚的成果,可以实现单击按钮后,自动判断数字类型的列,然后显示合计值,并定位到最后一行的合计数处。

'第一步:遍历当前表的所有列,并将属性是数字型的列名放进集合nms中
Dim dd As String = MainTable.Name
Dim nms As New List(of String)'定义nms集合
For Each Colname As DataCol In DataTables(dd).DataCols '遍历表A的所有列
    If Colname.IsNumeric Then '判断列的属性是数字型
        nms.Add(Colname.Name)
    End If
Next
'第二步:将集合转换成数组nmss
Dim nmss() As String '
nmss = nms.ToArray() 
'第三步:将遍历出来的数字类型的列设置显示合计值
For i As Integer = 0 To nmss.Length -1
Tables("录入窗体_Table1").Cols(nms(i)).GrandTotal = True '指定要合计的列
Next
Tables("录入窗体_Table1").GrandTotal = True '显示合计模式

'第四步:点击合计按钮实现定位到最后一行的合计行
Dim cnt As Integer = Tables("录入窗体_Table1").Rows.Count(True)
Tables("录入窗体_Table1").Select(cnt,0)

 回到顶部
帅哥哟,离线,有人找我吗?
237756360
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:257 积分:2960 威望:0 精华:0 注册:2020/5/21 17:56:00
  发帖心情 Post By:2020/7/9 23:04:00 [显示全部帖子]

还是大神牛逼啊,短短几行代码就能实现功能,我写的简直不能看!学习了!

 回到顶部