Previous topicNext topic
Help > 开发指南 > SanMuGrid平台编程 > 主要对象 >
ColData

属性

名称 说明
BaseColumn 返回基础的System.Data.DataColumn对象。
Caption 设置或返回列的标题。
DatatableHelp 返回当前集合所对应的Datatable.
DataType 返回当前列的数据类型。
DefaultValue 默认值。
Expression 返回当前列的表达式。
ExtendedProperties 扩展属性集合。
Index 返回或设置当前列的序号。
IsBoolean 是否是逻辑列。
IsDate 是否是日期类型。
IsNumeric 是否是数字类型。
IsString 是否是字符型。
IsTempDataCol 获得此列是否是临时列。
MaxLength 最大长度。
Name 返回列的名称.
ReadOnly 可编辑数据。
Tag 备注。
Unique 获取或设置一个值,该值指示列的每一行的值是否必须是唯一值。
UserData 用户信息。

注意,千万不要用dc.ExtendedProperties.Clear()方法,因为列的很多属性都是基于此属性保存数据的。我们就按常规的字典用法直接赋值、取值即可。自己命名Key值时,尽量起一个个性化的前缀,比如“ali_”这样的。防止与系统内部使用的变量重复冲突,造成覆盖别人数据的情况发生。

 Vb.Net
'先定义变量获取表
Dim tbl As SmGrid = Proj.CurrentSmGrid
'循环遍历
Dim dc As ColData=tbl.DataTableHelp.DataCols("Nation")
'获得底层的DataColumn对象。
Dim col As DataColumn= dc.BaseColumn 
Proj.MsgDebug.Add("列的标题:{0}",dc.Caption)
Proj.MsgDebug.Add("列的名称:{0}",dc.Name)
Proj.MsgDebug.Add("列的DatatableHelp对象:{0}",dc.DatatableHelp.ToString())
Proj.MsgDebug.Add("列的数据类型:{0}",dc.DataType.ToString())
Proj.MsgDebug.Add("列的默认值:{0}",dc.DefaultValue)
Proj.MsgDebug.Add("列的表达式:{0}",dc.Expression)
Proj.MsgDebug.Add("列的序列:{0}",dc.Index)
Proj.MsgDebug.Add("列的数据类型是否逻辑类型:{0}",dc.IsBoolean)
Proj.MsgDebug.Add("列的数据类型是否日期类型:{0}",dc.IsDate)
Proj.MsgDebug.Add("列的数据类型是否数值类型:{0}",dc.IsNumeric)
Proj.MsgDebug.Add("列的数据类型是否字符类型:{0}",dc.IsString)
Proj.MsgDebug.Add("列是否临时列:{0}",dc.IsTempDataCol)
Proj.MsgDebug.Add("列的数据最大长度:{0}",dc.MaxLength)
Proj.MsgDebug.Add("列是否只读:{0}",dc.ReadOnly)
Proj.MsgDebug.Add("列是否唯一:{0}",dc.Unique)

'我们可以利用ExtendedProperties属性,来存储一些与列相关的临时变量
dc.ExtendedProperties("临时变量1")="值1"
dc.ExtendedProperties("临时变量2")="值2"

'注意,千万不要用dc.ExtendedProperties.Clear()方法,因为列的很多属性都是
'基于此属性保存数据的。我们就按常规的字典用法直接赋值、取值即可。
'自己命名Key值时,尽量起一个个性化的前缀,比如“ali_”这样的。
'防止与系统内部使用的变量重复冲突,造成覆盖别人数据的情况发生。

'dc.Tag和dc.UserData两个属性是Object类型的,我们也可以存储一些我们想要使用的临时变量

'遍历所有列
For Each Item As ColData In tbl.DataTableHelp.DataCols
    Proj.MsgDebug.Add("列的名称:{0}",Item.Name)
Next

 C#
// 先定义变量获取表
SmGrid tbl = Proj.CurrentSmGrid;
// 循环遍历
ColData dc = tbl.DataTableHelp.DataCols["Nation"];
// 获得底层的DataColumn对象。
DataColumn col = dc.BaseColumn;
Proj.MsgDebug.Add("列的标题:{0}", dc.Caption);
Proj.MsgDebug.Add("列的名称:{0}", dc.Name);
Proj.MsgDebug.Add("列的DatatableHelp对象:{0}", dc.DatatableHelp.ToString());
Proj.MsgDebug.Add("列的数据类型:{0}", dc.DataType.ToString());
Proj.MsgDebug.Add("列的默认值:{0}", dc.DefaultValue);
Proj.MsgDebug.Add("列的表达式:{0}", dc.Expression);
Proj.MsgDebug.Add("列的序列:{0}", dc.Index);
Proj.MsgDebug.Add("列的数据类型是否逻辑类型:{0}", dc.IsBoolean);
Proj.MsgDebug.Add("列的数据类型是否日期类型:{0}", dc.IsDate);
Proj.MsgDebug.Add("列的数据类型是否数值类型:{0}", dc.IsNumeric);
Proj.MsgDebug.Add("列的数据类型是否字符类型:{0}", dc.IsString);
Proj.MsgDebug.Add("列是否临时列:{0}", dc.IsTempDataCol);
Proj.MsgDebug.Add("列的数据最大长度:{0}", dc.MaxLength);
Proj.MsgDebug.Add("列是否只读:{0}", dc.ReadOnly);
Proj.MsgDebug.Add("列是否唯一:{0}", dc.Unique);

// 我们可以利用ExtendedProperties属性,来存储一些与列相关的临时变量
dc.ExtendedProperties["临时变量1"] = "值1";
dc.ExtendedProperties["临时变量2"] = "值2";

// 注意,千万不要用dc.ExtendedProperties.Clear()方法,因为列的很多属性都是
// 基于此属性保存数据的。我们就按常规的字典用法直接赋值、取值即可。
// 自己命名Key值时,尽量起一个个性化的前缀,比如“ali_”这样的。
// 防止与系统内部使用的变量重复冲突,造成覆盖别人数据的情况发生。

// dc.Tag和dc.UserData两个属性是Object类型的,我们也可以存储一些我们想要使用的临时变量

// 遍历所有列
foreach (ColData Item in tbl.DataTableHelp.DataCols)
{
    Proj.MsgDebug.Add("列的名称:{0}", Item.Name);
}