Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
在afterload设置的代码为:
Dim a As WinForm.TextBox
Dim tbl As WinForm.Table
a = e.Form.Controls("textbox1")
a.Value = Nothing
tbl = e.Form.CreateSQLQuery("Table1", "Select top 10 [_identify], [客户简码],[客户名称],[联系人],[电话],[地址] from {客户档案} ","销售系统")
tbl.SetBounds(10, 10, 600, 400)
e.Form.AddControl(tbl)
但是仍然出现全部的字段。甚至上一次模糊查询输入的内容还在窗口中
那里没有弄对..........
你这是创建一个新的Table,和以前没有关系的。
你应该是原来的Table没有删除,你看到的还是原来的Table。
如果就用窗口建好的table,不需要重建。但是要求窗口启动后,table不需要加载全部字段,而是部分字段.怎么弄........
感觉有些奇怪了,如果不先RemoveControl而重复增加同一名称控件应该会报错才对,怎么还能看到上次操作的内容呢?
弄不出来:
参考了帮助,只有了这一句:
Tables("窗口1_Table1").fill("select [客户简码],[客户名称],[联系人],[联系人],[所属_省市],[所属_县市] from {客户档案}","销售系统",True)
但是不知道前后完整的语句是什么,怎么弄才能使窗口一出现table就出现我想要的字段,而非加载全部字段。
窗口这一块还不是很熟........
另外,筛选时最好还不要闪屏
一个问题.创建CreateSQLQuery类型属于副本型,所以你会看到两个表,而且是不同的.请注意这段帮助:
Table的双重身份
窗口中的Table具备双重身份,使用不同身份时,类型不同,名称也不同。
作为控件
当作为窗口中的控件时,其类型为WinForm.Table,名称就是设计窗口时赋予的名称。
示例
Dim
t As WinForm.Table = e.Form.Controls("Table1")作为Table
当作为普通的Table使用的时候,其类型自然是Table。
至于名称则要区分两种情况。
如果类型为Normal,且非副本,此时窗口并不会创建新的Table,只是将原来的Table移到窗口中显示,所以其名称自然就等于绑定的Table名称。
例如将订单表移到主窗口后,对其的调用还是和原来一样:
Tables("订单").AllowEdit = True
如果类型为Normal,且为副本,或者类型为SQLTable、SQLQuery,此时窗口会创建一个新的Table,此新Table的名称为:
窗口名称_控件名称
假定这个Table的名称为Table1,且在窗口1中,那么代码中必须使用“窗口1_Table1”的名称来调用此Table:
Tables
("窗口1_Table1").AllowEdit = False
另外,fill的类型你最看看,如果你是表类型调整的话,请注意这一段帮助:
Fill方法
Table有一个Fill方法,可以根据指定的SQL语句,从指定的数据源中加载数据。
语法:
Fill(SelectString, IsQuery)
或者
Fill(SelectString, ConnectionName, IsQuery)
SelectString: Select语句
ConnectionName:可选参数,指定数据源名称
IsQuery: 逻辑型,设为True,将生成SQLQuery型Table,否则生成SQLTable型Table。
SQLTable是数据表,默认是可以编辑和保存的。
SQLQuery是查询表,默认不能编辑,通过将其AllowEdit属性设置为True,可以编辑查询结果,但不能保存编辑结果。
例如:
Tables
("窗口1_Table1").Fill("Select * From {客户}","nwnd",True)不管Table原来是什么类型,显示的是什么数据,执行上述代码后,Table将成为SQLQuery类型,显示nwnd数据源中的客户表数据。
需要特别注意的是,如果只想取部分列生成SQLTable,那么必须包括主键列在内,例如:
Tables
("窗口1_Table1").Fill("Select [_Identify],[客户],[数量],[单价] From {订单}",False)这里假定订单表是内部数据表,内部数据表的主键列是_Identify,如果是外部表,请使用实际的主键列名称。
如果要生成SQLQuery,则没有这个限制:
Tables(
"窗口1_Table1").Fill("Select [客户],[数量],[单价] From {订单}",True)一定要注意,如果要生成SQLTable,第二个参数要设置为False,如果要生成SQLQuery,第二个参数则要设置为True,切不可搞混。
判断Table的类型
如果需要判断Table的类型,以及是否是副本,请参考:
投降了,弄了半天搞不出来,各位大侠,帮帮忙:
第一问题:
在“出库表-客户栏”时输入任何一个按键,窗口1就能跳出来。并且光标定位到“窗口1的TextBox1中”
第二个问题:
窗口1跳出来时,table1表,不要加载全部字段,只要部分字段。
这两个怎么弄?
下载信息 [文件大小: 下载次数: ] | |
![]() |