Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
帮助中关于DataList的Current的说明及事例是:
DataRow类型,返回DataList所选定的行。
示例
……
为此,可将该按钮的Click事件代码设为:
Dim
dst As WinForm.DataList = e.Form.Controls("DataList1")……
我有两个问题,是:
(1)上面的事例好像有点小问题,我就是照做的,结果总是出错,害得我查了半天。原因是获得DataList的当前行后直接用Dim Index As Integer = Tables("订单").FindRow(dr) 定位在Table中的位置,没有考虑这时候DataList中的当前行dr在Table中可能并不存在,即Table可能是经过筛选的,所以这时候会出现DataList中显示的当前行在Table中找不到,无法打开窗口,所以就出错。如果在用Table定位当前行之前加上一句:Tables("订单").Filter=True,应该就没有什么问题了。不知我的分析对不对?如果对建议修改帮助文件,作为帮助文件中的事例会经常被大家抄过来用,如果不修改会给大家造成误导。
(2)在上例中,假如窗口1不绑定订单表,而是绑定全局变量,是否就没有必要再用table的Findrow及position定位,可以直接用 vars("变量名")=dr("字段名"),窗口保存的时候,反过来:dr("字段名")=vars("变量名")。这种方法有什么问题吗?
我知道您的意思,虽然有这个判断,不会引用空行,但用户希望的是只要表中存在这一行就打开窗口,即使有这个判断,仍然不会打开窗口,这不是用户希望的结果!应该可以算作出错.