添加表样式和列样式

向DataGrid控件添加表样式和列样式,是使用该控件的过程中非常重要的一项技巧。掌握这一技巧可以非常自如地使用DataGrid控件,轻松控制任意列的宽度、位置、标题及格式特性等。而且掌握这一技巧并不很难。

1.DataGrid、表样式、列样式

DataGrid控件是由一组复杂的对象组成的。这些对象相互配合完成显示数据表格的任务。要向DataGrid添加表样式和列样式就必须使用以下4个类:

DataGridTableStyle 对象

GridTableStylesCollection 对象

DataGridColumnStyle 对象

GridColumnStylesCollection 对象

当然还包括DataGrid本身。其中GridTableStylesCollection 对象需要通过DataGrid的属性TableStyles 进行访问。而DataGridColumnStyle 对象则必须使用DataGridTableStyle 对象的GridColumnStyles 属性访问。要向DataGrid添加表样式,需要首先声明一个DataGridTableStyle对象。然后使用DataGrid.TableStyles.Add()方法把它添加到数据网格的GridTableStylesCollection里面。

DataGridTableStyle ts1 = new DataGridTableStyle();//声明DataGridTableStyle
ts1.MappingName = "Customers";//设置表样式对象的影射名称,应该是要显示的数据表的名称

//中间可以加入数据网格的列样式

DataGridBoolColumn myDataCol = new DataGridBoolColumn();//列
myDataCol.HeaderText = "My New Column";//列标题
myDataCol.MappingName = "Current";//映射列名称

myDataCol.Width = 100;//设置列的宽度

myDataCol.Format = "yy/mm/dd hh:mm:ss";

dataGrid1.TableStyles.Add(ts1);//把表样式添加到数据网格的GridTableStylesCollection里面

但是在调用DataGrid.TableStyles.Add()之前还必须完成对列样式的设置。列样式有两种,DataGridBoolColumn和DataGridTextBoxColumn。前者在方格里显示一个类似于负选框的小对勾,以表示Boolean值,而后者在方格里面显示一行文本。首先声明一个列样式,然后设置映射名和列标题,最后调用表样式的GridColumnStyle.Add()方法,把列添加进去。见上面的程序。

另外还可以设置列的宽度,就像这样:
myDataCol.Width = 100;//设置列的宽度

如果要设置列的格式,可以这样:

myDataCol.Format = "yy/mm/dd hh:mm:ss";

如果要显示日期最好要设置日期时间的显示格式。

下表列出所有用于日期格式设置的有效格式字符串及其说明。

格式字符串 说明
d 一位数或两位数的天数。
dd 两位数的天数。一位数天数的前面加一个零。
ddd 三个字符的星期几缩写。
dddd 完整的星期几名称。
h 12 小时格式的一位数或两位数小时数。
hh 12 小时格式的两位数小时数。一位数数值前面加一个零。
H 24 小时格式的一位数或两位数小时数。
HH 24 小时格式的两位数小时数。一位数数值前面加一个零。
m 一位数或两位数分钟值。
mm 两位数分钟值。一位数数值前面加一个零。
M 一位数或两位数月份值。
MM 两位数月份值。一位数数值前面加一个零。
MMM 三个字符的月份缩写。
MMMM 完整的月份名。
s 一位数或两位数秒数。
ss 两位数秒数。一位数数值前面加一个零。
t 一个字母的 AM/PM 缩写(“AM”显示为“A”)。
tt 两个字母的 AM/PM 缩写(“AM”显示为“AM”)。
y 一位数的年份(2001 显示为“1”)。
yy 年份的最后两位数(2001 显示为“01”)。
yyyy

完整的年份(2001 显示为“2001”)。

你可能感兴趣的:(datagrid,任务,网格)