第三方开发接口

本节内容针对专业程序员,一般用户可以忽略。

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
ct.Dock = System.Windows.Forms.DockStyle.Fill
e.Form.Panel.Controls.Add(ct)

如果已经添加了第三方控件,建议在窗口的BeforeClose事件中,将这些控件移除并销毁。

如果要使用第三方的开发工具,请引用foxtable.exe和foxtable.lib.dll,这两个文件包括foxtable所有公开的类型。

窗口中的Table可以直接绑定到System.Data.DataTable类型,例如:

Dim dt As New System.Data.DataTable
dt.Columns.Add("姓名",GetType(String))
dt.Columns.Add("出生日期",GetType(Date))
dt.Columns.Add("薪水",GetType(Double))
Tables
("窗口1_Table1").DataSource = dt


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