DataCols

通过DataCols集合,可以引用指定名称的列,例如:

DataTables("订单").DataCols("数量")

返回订单表的数量列。

既然是集合,我们就可以通过For Each语句遍历集合中所有元素。
例如执行下面的代码,可以列出订单表中所有列的名称:

For Each dc As DataCol In DataTables("订单").DataCols
    Output.Show(d
c.Name)
Next

通过DataCols的Count属性,可以返回总的列数。

下面代码列出所有表的列数和列名称:

For Each dt As DataTable In DataTables
    Output.Show(dt.Name &
"包括以下列:" )
    For Each
dc As DataCol In dt.DataCols
        Output.Show(
" " & dc.Name)
    Next

    Output.Show(
"总列数:" & dt.DataCols.Count)

Next

DataCols包括三个方法:

方法 说明
Contains 判断是否包括指定名称的列
Add 增加一个临时列
Delete 删除通过Add方法增加的临时列。

利用Add方法,可以增加临时列,并可给临时列设置表达式。
通过代码增加的临时列,在重新打开项目文件后,将不复存在。

Add方法的语法有六个:

Add(ColumnName, GetType(Type))
Add(ColumnName, GetType(Type), Expression)
Add(ColumnName, GetType(Type), Expression, Caption)
Add(ColumnName, GetType(Type), MaxLength)
Add(ColumnName, GetType(Type), MaxLength, Expression)
Add(ColumnName, GetType(Type), MaxLength, Expression, Caption)

后三个语法是针对字符列的。
 

参数说明:

例如:

DataTables("订单").DataCols.Add("金额", GetType(Double), "[数量] * [单价] * (1 - [折扣])")

有了Add方法,表达式列可以不通过菜单,而是在运行的时候通过代码动态添加,这样可提供更好的灵活性。

通过Add方法增加的临时列,可以用Delete方法删除。

例如:

If DataTables("订单").DataCols.Contains("金额") Then
    DataTables(
"订单").DataCols.Delete("金额"
)
End If


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