以文本方式查看主题 - 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=10916) |
-- 作者:kensou11111 -- 发布时间:2011/6/29 16:04:00 -- [讨论]窗口中的Table数据加载的问题 我在一个窗口的Afterload事件设置了如下代码 Tables("清单查询修改_Table1").Fill("Select [_Identify], 材料编码, 材料名称, 型号规格, 单机量, 装入位号, 分工 From {前工序清单} where [清单编号] = \'" & Tables("清单列表").Current("前工序清单编号") & "\'" ,"技术文件", False)
我发现不管最后一个参数设置成TRUE还是FALSE,得出的表都是锁定的,与帮助里面说的不符。其实我最希望当这个参数是FALSE的时候,加载的是数据源中原汁原味的数据(比如要加载数据源中的30行数据,其中10行是锁定的,那他加载后的数据也是如此)
Fill(SelectString, ConnectionName, IsQuery) SelectString: Select语句 [此贴子已经被作者于2011-6-29 16:07:13编辑过]
|
-- 作者:hhbb -- 发布时间:2011/6/29 16:25:00 -- Dim t As Table =Tables("窗口1_Table1") t.FILL("SELECT * FROM{订单}",False) t.AllowEdit = True For n As Integer = 0 To t.DataTable.DataRows.count-1 t.DataTable.DataRows(n).Locked = DataTables("订单").DataRows(n).Locked Next
|
-- 作者:kensou11111 -- 发布时间:2011/6/29 17:35:00 -- 楼上的方法不行吧,我是要从外部数据源加载数据的,而不是加载内部表啊 |
-- 作者:狐狸爸爸 -- 发布时间:2011/6/29 17:43:00 -- Tables("清单查询修改_Table1").Fill("Select [_Identify], 材料编码, 材料名称, 型号规格, 单机量, 装入位号, 分工 From {前工序清单} where [清单编号] = \'" & Tables("清单列表").Current("前工序清单编号") & "\'" ,"技术文件", False) [此贴子已经被作者于2011-6-29 18:04:09编辑过]
|
-- 作者:kensou11111 -- 发布时间:2011/6/29 18:03:00 -- 以下是引用狐狸爸爸在2011-6-29 17:43:00的发言:
Tables("清单查询修改_Table1").Fill("Select [_Identify], 材料编码, 材料名称, 型号规格, 单机量, 装入位号, 分工 From {前工序清单} where [清单编号] = \'" & Tables("清单列表").Current("前工序清单编号") & "\'" ,"技术文件", False) 但这样就会产生另外一个问题,比如我加载了30行数据,其中有10行本来在数据源中是锁定的(例如一些已审核的数据,会将它们锁定),但加载到Tables("清单查询修改_Table1") 中后就会全部变成可编辑了,这样就不太符合预先的设计了。 |
-- 作者:狐狸爸爸 -- 发布时间:2011/6/29 18:04:00 -- 错了,Tables("清单查询修改_Table1").AllowEdit = True不影响已经锁定的行,这些锁定的行,还是不能被编辑的 [此贴子已经被作者于2011-6-29 18:04:58编辑过]
|
-- 作者:kensou11111 -- 发布时间:2011/6/29 18:10:00 -- 也不是说这样就不能解决问题了,只是要绕个弯,多走些弯路去解决了,这样无论编写代码还是运行效率就低了 |
-- 作者:狐狸爸爸 -- 发布时间:2011/6/29 18:11:00 -- 这对效率没有任何影响的。 |