Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:datalist属性中绑定表的条件能否在窗口afterload中实现?

1楼
mr725 发表于:2009/3/20 19:18:00
如:条件设置为: [审核] 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()

请帮助我啊~ 谢谢!!
2楼
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编辑过]
3楼
mr725 发表于:2009/3/20 21:47:00
czy版主2楼的代码可以,但是flxsb表中的记录太多时,速度特慢,比datalest属性中条件设置为: [审核] is null (瞬间完成)慢得太多了!~ 如果没有其他好方法,只好今后学习进度条时,加个显示进度条的窗口了。
而且,关闭按钮时,也很慢!~ 因为flxsb表中记录还要被主窗口调用,如果不显示flxsb表中的所有行,就无法调用相关的记录了。 (也就时说datalist中未被筛选到的flxsb表中记录都隐藏了,而隐藏行是不能被调用的-不知对不?反正我调用其他记录时,隐藏的行是调不出来的)
[此贴子已经被作者于2009-3-20 22:07:54编辑过]
4楼
czy 发表于:2009/3/20 23:21:00
楼上理解的没错。

[此贴子已经被作者于2009-3-20 23:25:03编辑过]
5楼
czy 发表于:2009/3/20 23:57:00

暂时这样解决下。


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目7.table

6楼
mr725 发表于:2009/3/21 1:02:00
以下是引用czy在2009-3-20 23:57:00的发言:

暂时这样解决下。


 下载信息  [文件大小:476.0 KB  下载次数:1]
图片点击可在新窗口打开查看点击浏览该文件:管理项目7.table

谢谢了~  我增加到24000多行,只要7、8秒时间就可筛选出来,还不错。
另外:我试了试做一个结构一样的表过渡进行筛选,再通过一些代码使在datalist的复选框中打勾后返回到原表,使 审核=true ,这样筛选速度明显提高图片点击可在新窗口打开查看,1秒就可以筛选完,只是打勾的时候稍微有点卡,但能接受图片点击可在新窗口打开查看!~
再次谢谢czy版主!~

7楼
mr725 发表于:2009/3/21 1:09:00
 czy提供的例子中,一旦原表中或datalist中有排序动作,就可能出现错误提示!!!有代码静止原表或datalist的排序吗?

明天来看啦,休息~~
[此贴子已经被作者于2009-3-21 1:10:26编辑过]
共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 3 queries.