以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于窗口动态增加表的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=177862)

--  作者:ap9709130
--  发布时间:2022/6/7 21:05:00
--  关于窗口动态增加表的问题
 老师

       用 cmd.ExecuteReader()的方法生成的datatable , 我想在窗口上动态生成一个表,并且用DataSource的属性绑定那个datatable.要如何实现?
[此贴子已经被作者于2022/6/7 21:05:40编辑过]

--  作者:有点蓝
--  发布时间:2022/6/7 21:25:00
--  
参考:http://www.foxtable.com/webhelp/topics/1909.htm

Tables("窗口1_Table1").DataSource =cmd.ExecuteReader()

--  作者:ap9709130
--  发布时间:2022/6/8 16:10:00
--  
 有点蓝老师

         这个我知道,现在的问题是,我先要动态的增加表,然后再绑定。我试过 e.Form.CreateTable 不行。因为这个只针对 datatables. 如果用 CreateSQLQuery,又要用sql 语句去做一次,效率又差了。

因为是先有cmd.ExecuteReader() 的表,已经生成了,然后根据条件 再动态增加一个表,然后把表的数据 展示出来。
   

--  作者:有点蓝
--  发布时间:2022/6/8 16:16:00
--  
要增加表控件?

Dim
 tbl As WinForm.Table
tbl = e.Form.CreateSQLTable(
"Table1""Select * From {随便什么表} where 1=2","nwind")
tbl.SetBounds(
1010600400
)
e.Form.AddControl(tbl)
tbl.DataSource =cmd.ExecuteReader()

--  作者:ap9709130
--  发布时间:2022/6/8 16:49:00
--  
 好的,我试试吗。用个简单的sql 也可以。

--  作者:ap9709130
--  发布时间:2022/6/9 14:53:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1654757437362.jpg
图片点击可在新窗口打开查看
 有点蓝老师

     我的代码如下:

           Dim tbl As WinForm.Table
        tbl = Forms("测试窗口").Cre ateSQL Query(“tpfmxb”,"se le ct _Identify fr om {公司信息设置} wh ere _Identify is null","h")
        tbl.SetBounds(10,10,600,400)
        Forms("测试窗口").AddControl(tbl)

为什么会报错? 报错信息 请看附件!
图片点击可在新窗口打开查看此主题相关图片如下:1654757359899.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2022/6/9 14:53:49编辑过]

--  作者:有点蓝
--  发布时间:2022/6/9 15:40:00
--  
已经添加了名称为“tpfmxb”的控件了,不能重复添加,换个名称
--  作者:ap9709130
--  发布时间:2022/6/10 13:08:00
--  
老师

    没有啊。我是在空窗口里加的。


--  作者:有点蓝
--  发布时间:2022/6/10 13:41:00
--  
请上传实例说明
--  作者:ap9709130
--  发布时间:2022/6/10 14:54:00
--  
 找到原因了,因为第一次用的是CreateTable增加的。所以 要先unload 才可以的