——此文章摘自《C#高级编程(第
版)》定价
元 特价
元 购买
private void CreateStyles(DataGrid dg)
{
DataGridTableStyle style = new DataGridTableStyle();
styleMappingName = Customers;
styleAlternatingBackColor = SystemDrawingColorBisque;
DataGridTextBoxColumn customerID = new DataGridTextBoxColumn();
customerIDHeaderText = Customer ID;
customerIDMappingName = CustomerID;
customerIDWidth = ;
DataGridTextBoxColumn name = new DataGridTextBoxColumn();
nameHeaderText = Name;
nameMappingName = CompanyName;
nameWidth = ;
在定义了数据列后就把它们添加到DataGridTableStyle对象的GridColumnStyles集合中该对象本身则被添加到DataGrid 的属性TableStyles上
styleGridColumnStylesAddRange
(new DataGridColumnStyle[]{customerID name});
dgTableStylesAdd(style);
}
private DataSet CreateDataSet()
{
string source = server=(local)\\NetSDK; +
uid=QSUser;pwd=QSPassword; +
database=northwind;
string customers = SELECT * FROM Customers;
SqlConnection con = new SqlConnection(source);
SqlDataAdapter da = new SqlDataAdapter(customers con);
DataSet ds = new DataSet();
daFill(ds Customers);
return ds;
}
static void Main()
{
ApplicationRun(new CustomDataGridTableStyle());
}
}
在创建了DataGridTableStyle对象后就创建了两个派生于DataGridColumnStyle的对象在本实例中是两个文本框每一列都定义了许多属性见表
属 性说 明Alignment
HorizontalAlignment枚举的一个值—— Left Center或 Right这表示列中数据的对齐方式FontHeight字体的大小(像素)如果没有给它设置值就使用DataGrid的默认值这个属性是受保护的只有在创建自己的子类时才能修改它HeaderText显示在列标题中的文本MappingName在屏幕上显示的DataTable的列NullText底层的数据值为DBNull时在列中显示的文本PropertyDescriptor本章后面讨论ReadOnly标志表示列是可读写的还是只读的Width列的宽度(像素)
表
这个CustomDataGridTableStyle示例的显示结果如图所示
图
[] [] []