在窗口中能否动态绑定:Table?
我做了一个交叉统计表,生成后又做了汇总模式,可是在DataList中无法显示出汇总模式,所以我想是否可以动态的绑定Table了,目前是无法做到,不知道贺老师是否有好办法?
[此贴子已经被作者于2009-5-2 12:27:27编辑过]
以下是引用yangming在2009-5-2 11:02:00的发言:在窗口中能否动态绑定:Table?
我做了一个交叉统计表,生成后又做了汇总模式,可是在DataList中无法显示出汇总模式,所以我想是否可以动态的绑定Table了,目前是无法做到,不知道贺老师是否有好办法?
[此贴子已经被作者于2009-5-2 12:27:27编辑过]
可以自己事先加Table绑定表,再把Table移到你想显示的窗口里!!
本人现做的系统也是用这个办法当是动态绑定表!呵.
[此贴子已经被作者于2009-5-3 19:50:08编辑过]
不明白gdlgh的意思,我的交叉表是动态的,没法事先绑定啊
以下是引用yangming在2009-5-3 20:16:00的发言:
不明白gdlgh的意思,我的交叉表是动态的,没法事先绑定啊
先生成交叉表,并绑定。
删除交叉表。
当再次生成交叉表并打开该窗口时,新生成的交叉表还是在绑定状态。
帮助:
用SQL语言虽然可以很灵活地对未加载的数据进行统计,但是不是每个人都能掌握好SQL的,相对对来说,Foxtable提供GroupTableBuilder和CrossTableBuilder要容易掌握得多,而且更为灵活。
我们可以综合利用二者的优势,利用ExecuteReader将数据加载到一个临时的表中,然后利用GroupTableBuilder和CrossTableBuilder对这个表进行统计。
例如:
Dim
cd As New SQLCommand
Dim dt as DataTable
cd.CommandText = "Select * From {订单}"
dt = cd.ExecuteReader()
Dim cs As New CrossTableBuilder("统计表",dt)
cs.HGroups.AddDef("客户")
cs.VGroups.AddDef("产品","产品_{0}")
cs.Totals.AddDef("数量")
With e.Form.Controls("DataList1")
.DataTable = cs.Build(TRue)
.Build
End With
代码的原理很简单,首先将全部订单加载到临时表dt中,然后定义一个交叉表生成器,对这个临时表进行交叉统计,并将结果显示在窗口的DataList控件中
ybtxdz,先谢谢你的回答,我说的是动态绑定Table,而不是DataList1.
八婺五楼的办法在同窗口不行,要将按钮和加Table的窗口分开才行
[此贴子已经被作者于2009-5-3 22:11:55编辑过]
按
八婺五楼的办法,我加了二句关闭再打开窗口的按钮,可以了,再次感谢二位老师的指点!
以下是引用yangming在2009-5-3 20:16:00的发言:
不明白gdlgh的意思,我的交叉表是动态的,没法事先绑定啊
这样?
狐狸他爸开放BindTable就简单多了......唉......