属性
名称 | 说明 |
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); } |