第三方开发接口
本节内容针对专业程序员,一般用户可以忽略。
DataTable有一个BaseTable属性,返回底层的System.Data.DataTable对象
。
DataRow有一个BaseRow属性,返回底层的System.Data.Row对象。
我们知道,通过常规的代码, 我们是没有办法修改_Identify、_SortKey等系统列的内容。
但是通过上面两个属性,我们直接修改系统列的内容。
例如某个表启用了插入行的功能,如果在某位置插入了太多的行,最后该位置可能再也无法正常插入行,我们可以用下面的代码,重置_SortKey列的内容:
Dim
drs
As
List(of
DataRow)
= DataTables("表A").Select("","[_SortKey]")
For
i
As
Integer
=
0
To
drs.Count
-
1
drs(i).BaseRow("_SortKey")
= i
Next
执行上述代码后,插入行的功能即可恢复正常。
Table有一个Grid属性,返回底层的C1.Win.C1FlexGrid.C1FlexGrid对象。
所有的控件都有一个BaseControl属性,返回其对应的System.Windows.Forms.Control对象
窗口有一个Panel对象,返回一个Foxtable.FormPanel容器,窗口所有的控件都在这个容器中
对于模式窗口和独立窗口,可以通过窗口的BaseForm属性,返回对应的System.Windows.Forms.Form对象
例如希望消除某个独立或模式窗口的边框,可以在窗口的AfterLoad事件中加入代码:
e.Form.BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
在窗口添加第三方控件的时候,不能直接添加到BaseForm中,必须添加到Panel中。
例如需要在窗口中加入一个RichTextBox控件,可以在窗口的AfterLoad事件中加入代码:
Dim
ct As New System.Windows.Forms.RichTextBox如果已经添加了第三方控件,建议在窗口的BeforeClose事件中,将这些控件移除并销毁。
如果要使用第三方的开发工具,请引用foxtable.exe和foxtable.lib.dll,这两个文件包括foxtable所有公开的类型。
窗口中的Table可以直接绑定到System.Data.DataTable类型,例如:
Dim
dt As New System.Data.DataTable