c#

位置:IT落伍者 >> c# >> 浏览文章

C#高级编程: DataGrid类的层次结构[3]


发布日期:2020年08月19日
 
C#高级编程: DataGrid类的层次结构[3]
——此文章摘自《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示例的显示结果如图所示

[] [] []

               

上一篇:C#高级编程: DataGrid类的层次结构[1]

下一篇:C#编程三步走之二