以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于复选框合计 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177592) |
||||
-- 作者:hongye -- 发布时间:2022/5/27 16:27:00 -- 关于复选框合计 此主题相关图片如下:01.jpg 当选择窗口中表的复选框,选中后按按钮后需要按第一列和第二列统计后填入表D 比如 当选择第一行和第二行数据然后按Button1后 窗口表的数据 ZWY0291 001 180 320 True 2 22.2 85
ZWY0291 001 180 320 True 5 54.2 155 复制到表D后 第一列 第三列 第四列 第五列 ZWY0291 001 180- 320 76.4 请问这个代码怎么写 [此贴子已经被作者于2022/5/27 16:28:57编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2022/5/27 17:57:00 -- 获取勾选的行: 复制数据: 组合一下: Dim nma() As String = {"A1", "A2", "A3", "A4"} \'A表数据来源列 Dim nmb() As String = {"B1", "B2", "B3", "B4"} \'B表数据接收列 For Each r1 As Row In Tables("表A").GetCheckedRows Dim r2 As DataRow = DataTables("表B").AddNew For i As Integer = 0 To nma.Length - 1 r2(nmb(i)) = r1(nma(i)) Next Next |
||||
-- 作者:hongye -- 发布时间:2022/5/27 18:27:00 -- 不是这个意思 窗口表的数据 ZWY0291 001 180 320 True 2 22.2 85 ZWY0291 001 180 320 True 5 54.2 155 复制到表D后 第一列 第三列 第四列 第五列 ZWY0291 001 180- 320 76.4 我的意思是如何将这窗口表的数据通过相同的内容条件合并成一条内容内容写入到表D [此贴子已经被作者于2022/5/27 18:40:42编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2022/5/28 8:58:00 -- 建议增加一个临时的逻辑列进行勾选,这样就可以直接进行分组统计了。不然要逐行遍历处理,麻烦 if dataTables("窗口1_table1").datacols.contains("a") = false dataTables("窗口1_table1").datacols.add("a",gettype(boolean)) Tables("窗口1_table1").cols("a").visible=false end if For Each r1 As Row In Tables("窗口1_table1").GetCheckedRows r1("a") = true Next Dim b As New GroupTableBuilder("统计表1",DataTables("窗口1_table1")) 第三列 第四列 第五列 b.Groups.AddDef("第一列") b.Groups.AddDef("第二列") b.Groups.AddDef("第四列") b.Groups.AddDef("第五列") b.Totals.AddDef("第八列") dim dt as datatable = b.BuilddDataSource \'生成统计表 for each r1 as datarow in dt.datarows Dim r2 As DataRow = DataTables("表B").AddNew r2("第一列") = r1("第一列") r2("第二列") = r1("第二列") r2("第四列") = r1("第四列") & “-” & r1("第五列") r2("第五列") = r1("第八列") Next |
||||
-- 作者:hongye -- 发布时间:2022/5/28 9:54:00 -- dim dt as datatable = b.BuilddDataSource \'生成统计表 |
||||
-- 作者:有点蓝 -- 发布时间:2022/5/28 10:17:00 -- 4楼代码不可能有这种提示。如果是其它代码直接贴出完整代码,不要遮遮掩掩的 |
||||
-- 作者:hongye -- 发布时间:2022/5/28 10:56:00 --
代码贴不上去,还是出来错误
|
||||
-- 作者:有点蓝 -- 发布时间:2022/5/28 11:18:00 --
|
||||
-- 作者:hongye -- 发布时间:2022/5/28 11:50:00 -- If Tables("窗口2_table1").DataTable.datacols.contains("a") = False Then Tables("窗口2_table1").DataTable.datacols.add("a", GetType(Boolean)) Tables("窗口2_table1").cols("a").visible = False End If For Each r1 As Row In Tables("窗口2_table1").GetCheckedRows r1("a") = True Next Dim b As New GroupTableBuilder("统计表1", Tables("窗口2_table1").DataTable ) b.Groups.AddDef("第一") b.Groups.AddDef("第二") b.Groups.AddDef("第四") b.Groups.AddDef("第五") b.Totals.AddDef("第八") b.Filter = "a=true" Dim dt As DataTable = b.Build(True) \'生成统计表 For Each r1 As DataRow In dt.datarows Dim r2 As DataRow = DataTables("表D").AddNew r2("第三列") = r1("第一") r2("第四列") = r1("第二") r2("第五列") = r1("第四") r2("第六列") = r1("第五") r2("第七列") = r1("第八") Next 第一次没出问题 第二次筛选有问题,不是按照勾选的统计
|
||||
-- 作者:有点蓝 -- 发布时间:2022/5/28 11:55:00 -- If Tables("窗口2_table1").DataTable.datacols.contains("a") = False Then Tables("窗口2_table1").DataTable.datacols.add("a", GetType(Boolean)) Tables("窗口2_table1").cols("a").visible = False End If Tables("窗口2_table1").DataTable.replacefor("a",false) For Each r1 As Row In Tables("窗口2_table1").GetCheckedRows r1("a") = True Next |