以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- datalist属性中绑定表的条件能否在窗口afterload中实现? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2170) |
||||
-- 作者:mr725 -- 发布时间:2009/3/20 19:18:00 -- datalist属性中绑定表的条件能否在窗口afterload中实现? 如:条件设置为: [审核] is null 。一旦实现在datalist左边的显示复选框中打勾,并在 绑定表("审核") =true 后,这条记录就会立即从datalist中清除掉,不够理想。 要能用代码在窗口afterload中加载符合: [审核] is null 记录就好了。下面代码会加载flxsb表中全部记录: Dim dst As WinForm.DataList = e.Form.Controls("DataList1") Dim drs As List(Of Datarow) dst.DataTable = DataTables("flxsb").Select("[审核人] is null") (这里是否缺少的什么?) dst.Build() 请帮助我啊~ 谢谢!! |
||||
-- 作者:czy -- 发布时间:2009/3/20 20:15:00 -- 虽然可以在代码中设计RowFilter属性,但其效果和事先设定完全是一样的。 象你这种要求,个人认为解决办法是,打开窗口时执行加载符合条件的数据,如 DataTables("flxsb").LoadFilter = "[审核] = False" DataTables("flxsb").Load() 如果有关闭窗口按钮,可以加上下面的代码 DataTables("订flxsb").LoadFilter = "true" DataTables("flxsb").Load() 也可以加一个显示按钮,如 Dim dst As WinForm.DataList = e.Form.Controls("DataList1") DataTables("flxsb").LoadFilter = "true" DataTables("flxsb").Load() dst.Build() [此贴子已经被作者于2009-3-20 20:15:46编辑过]
|
||||
-- 作者:mr725 -- 发布时间:2009/3/20 21:47:00 -- czy版主2楼的代码可以,但是flxsb表中的记录太多时,速度特慢,比datalest属性中条件设置为: [审核] is null (瞬间完成)慢得太多了!~ 如果没有其他好方法,只好今后学习进度条时,加个显示进度条的窗口了。 而且,关闭按钮时,也很慢!~ 因为flxsb表中记录还要被主窗口调用,如果不显示flxsb表中的所有行,就无法调用相关的记录了。 (也就时说datalist中未被筛选到的flxsb表中记录都隐藏了,而隐藏行是不能被调用的-不知对不?反正我调用其他记录时,隐藏的行是调不出来的) [此贴子已经被作者于2009-3-20 22:07:54编辑过]
|
||||
-- 作者:czy -- 发布时间:2009/3/20 23:21:00 -- 楼上理解的没错。 [此贴子已经被作者于2009-3-20 23:25:03编辑过]
|
||||
-- 作者:czy -- 发布时间:2009/3/20 23:57:00 -- 暂时这样解决下。
|
||||
-- 作者:mr725 -- 发布时间:2009/3/21 1:02:00 -- 谢谢了~ 我增加到24000多行,只要7、8秒时间就可筛选出来,还不错。 |
||||
-- 作者:mr725 -- 发布时间:2009/3/21 1:09:00 -- czy提供的例子中,一旦原表中或datalist中有排序动作,就可能出现错误提示!!!有代码静止原表或datalist的排序吗? 明天来看啦,休息~~ [此贴子已经被作者于2009-3-21 1:10:26编辑过]
|