以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 自定义的录入筛选窗口启动时,table表为何还是加载全部的字段? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=8165) |
||||
-- 作者:小狐 -- 发布时间:2010/9/12 22:39:00 -- 自定义的录入筛选窗口启动时,table表为何还是加载全部的字段? 在afterload设置的代码为: Dim a As WinForm.TextBox
但是仍然出现全部的字段。甚至上一次模糊查询输入的内容还在窗口中 那里没有弄对.......... [此贴子已经被作者于2010-9-12 23:28:32编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/9/13 7:51:00 -- 你这是创建一个新的Table,和以前没有关系的。 你应该是原来的Table没有删除,你看到的还是原来的Table。 |
||||
-- 作者:小狐 -- 发布时间:2010/9/13 10:10:00 -- 如果就用窗口建好的table,不需要重建。但是要求窗口启动后,table不需要加载全部字段,而是部分字段.怎么弄........ |
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/9/13 10:25:00 -- 用Fill |
||||
-- 作者:czy -- 发布时间:2010/9/13 11:55:00 -- 感觉有些奇怪了,如果不先RemoveControl而重复增加同一名称控件应该会报错才对,怎么还能看到上次操作的内容呢?
|
||||
-- 作者:czy -- 发布时间:2010/9/13 11:57:00 -- 有些明白了,估计楼主看到的是两个完全不同的table |
||||
-- 作者:小狐 -- 发布时间:2010/9/14 0:03:00 -- 弄不出来: 参考了帮助,只有了这一句: Tables("窗口1_Table1").fill("select [客户简码],[客户名称],[联系人],[联系人],[所属_省市],[所属_县市] from {客户档案}","销售系统",True) 但是不知道前后完整的语句是什么,怎么弄才能使窗口一出现table就出现我想要的字段,而非加载全部字段。 窗口这一块还不是很熟........ 另外,筛选时最好还不要闪屏 [此贴子已经被作者于2010-9-14 0:05:18编辑过]
|
||||
-- 作者:blackzhu -- 发布时间:2010/9/14 7:40:00 -- 一个问题.创建CreateSQLQuery类型属于副本型,所以你会看到两个表,而且是不同的.请注意这段帮助:
Table的双重身份 窗口中的Table具备双重身份,使用不同身份时,类型不同,名称也不同。 作为控件 当作为窗口中的控件时,其类型为WinForm.Table,名称就是设计窗口时赋予的名称。 示例 Dim t As WinForm.Table = e.Form.Controls("Table1")t.SetBounds(0,0,400,300) 作为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语句 SQLTable是数据表,默认是可以编辑和保存的。 例如: 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的类型,以及是否是副本,请参考: |
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/9/14 7:45:00 -- 楼主可以在设计窗口的时候,指定Table的类型,数据源、SQL语句。 |
||||
-- 作者:小狐 -- 发布时间:2010/9/14 11:47:00 -- 投降了,弄了半天搞不出来,各位大侠,帮帮忙: 第一问题: 在“出库表-客户栏”时输入任何一个按键,窗口1就能跳出来。并且光标定位到“窗口1的TextBox1中” 第二个问题: 窗口1跳出来时,table1表,不要加载全部字段,只要部分字段。 这两个怎么弄?
|