动态绑定RecordGrid

在设计窗口的时候,可以直接将RecordGrid绑定到主表和关联表。
如果要绑定到副本Table、SQLTable和QueryTable,那么只能通过代码实现,例如:

Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid1")
rgd.
Table = Tables("窗口1_Table1") '指定绑定表
rgd.Build()
'重新生成记录窗口

上面的代码通常设置在窗口的AfterLoad事件中。

设置绑定表之后,还可以设置要显示的列,例如将RecordGrid绑定到员工表,并设置显示列:

Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid1")
rgd.
Table = Tables("员工")
rgd
.Columns = "编号|姓名|部门|职务|性别|尊称|出生日期|地址|家庭电话|办公电话"
rgd.Build()

提示:必须先设置绑定表,再设置显示列,顺序不能错。

在绑定之前,也可以先进行一些细节设置:

Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid1")
Tables
("员工").Cols("邮政编码").ShortCaption = "邮编" ' 指定邮政编码列的缩写标题
Tables(
"员工").Cols("照片").ShowInRecordGrid = False '照片列不在记录窗口显示
Tables("员工").Cols("备注").RecordRowHeight = 3 '备注列的高度为3倍行高
rgd.
Table = Tables("员工") '绑定到员工表
rgd.Build()
'重新生成记录窗口

对于系统内置的记录窗口,也可以用同样的方法进行设置:

Tables("员工").Cols("邮政编码").ShortCaption = "邮编" ' 指定邮政编码列的缩写标题
Tables
("员工").Cols("照片").ShowInRecordGrid = False '照片列不在记录窗口显示
Tables
("员工").Cols("备注").RecordRowHeight = 3 '备注列的高度为3倍行高
Tables
("员工").OpenRecordGrid()


本页地址:http://www.foxtable.com/webhelp/topics/2453.htm