以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何利用CheckBox的勾选生成统计数据? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=136470) |
||||
-- 作者:keli0917 -- 发布时间:2019/6/13 23:20:00 -- 如何利用CheckBox的勾选生成统计数据? 总的思路,先按一定条件提取数据到窗体的table1,再用一个checkbox对TABLE1手工勾选处理,再把勾选中的生成分组统计表。
Dim cmd4 As New SQLCommand
Dim gx As WinForm.CheckBox = e.Form.Controls("CheckBox1") For Each r As Row In Tables(e.Form.name & "_table1").Rows
前面二段代码能搞定,主要是生成分组统计表的代码不知道怎么改,我想参考下面的代码。主要是想知道: 第一个问题 r.Checked = True 这个条件应该怎么加,加在哪里。 第二个问题 For Each nm() As String In DataTables("订单").GetValues("客户|产品")中,只能使用DATATABLES吗?不能用我上面生成的table1吗?要怎么改。谢谢。
Dim
dtb
As
New
DataTableBuilder("统计") |
||||
-- 作者:keli0917 -- 发布时间:2019/6/13 23:24:00 -- table1表是用SQL从几个表中提取相应字段合成的一个表。 |
||||
-- 作者:有点甜 -- 发布时间:2019/6/13 23:34:00 -- 参考
Dim ls As New List(Of string) For Each r As Row In Tables(e.Form.name & "_table1").Rows If ls.contains(r("第一列") & "|" & r("第二列")) Then ls.add(r("第一列") & "|" & r("第二列")) End If
然后循环ls即可,如
For Each str As String in ls msgbox(str.split("|")(0)) msgbox(str.split("|")(1)) Next |
||||
-- 作者:keli0917 -- 发布时间:2019/6/14 20:59:00 -- 可能我没说清楚,帮忙再看一下。我上传了一个实例,实例中有一个窗口,帮忙写一下代码。谢谢。 |
||||
-- 作者:keli0917 -- 发布时间:2019/6/14 20:59:00 --
![]() ![]() |
||||
-- 作者:有点蓝 -- 发布时间:2019/6/14 21:16:00 -- 提取数据 Dim cmd4 As New SQLCommand Dim dt4 As DataTable cmd4.CommandText = " Select {订单}.[_Identify], 客户名称,产品,数量,单价,地址,电话 From {订单} Inner JOIN {客户资料} ON {客户资料}.[客户代码] = {订单}.[客户]" dt4 = cmd4.ExecuteReader() Tables(e.Form.name & "_table1").DataSource =dt4 Tables(e.Form.name & "_table1").AutoSizeCols 生成统计表 Dim t As Table = Tables("窗口1_Table1") Dim filter As String = "" For Each r As Row In t.GetCheckedRows() filter &= "," & r("_Identify") Next Dim b As New GroupTableBuilder("统计表1",t.DataTable) b.Filter = "[_Identify] in (" & filter.Trim(",") & ")" b.Groups.AddDef("产品") \'根据产品分组 b.Groups.AddDef("客户名称") b.Totals.AddDef("数量") \'对数量进行统计 b.Totals.AddDef("单价") b.Build \'生成统计表 MainTable = Tables("统计表1") \'打开生成的统计表 |