如图所示,依照示例做了个模式窗口,选择行时执行下列代码(已经去掉标记红色那段),如果直接点击X关闭窗口则提示出错,而点击按钮(内有e.form.Close()代码)关闭窗口则不会报错.WHY?
另问:动态DataList引用非主表非关联表数据能否实现类似功能?感觉上似乎不行.
Current
DataRow类型,返回DataList所选定的行。
示例
DataList并没有提供编辑功能,但是我们可以间接地为DataList加上编辑功能。
假定订单表是一个内部表,该表已经有一个设计好的数据录入窗口,窗口的名称为“窗口1”,为了能够在其他表中使用这个窗口,我们将该窗口的类型设为模式型(也可以是独立型)。
客户表中也有一个窗口,该窗口有一个DataList控件和一个按钮,DataList控件已经绑定到订单表,我们希望单击这个按钮,能够编辑在DataList中选定的订单。
为此,可将该按钮的Click事件代码设为:
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
Dim dr as DataRow = dst.Current
'获得选定行
Dim Index As Integer = Tables("订单").FindRow(dr) '获得选定行在Tables("订单")中的位置
If Index >=0 Then '如果选定行在Tables("订单")中存在
Tables("订单").Position = Index '定位到选定行
Forms("窗口1").Open() '打开编辑窗口
End
If

此主题相关图片如下:001.jpg
[此贴子已经被作者于2009-1-14 16:35:38编辑过]