如何更改winform的datagrid的列名

我们在数据库存放的表结构中字段名一般都不是中文,但是我们经常要在表头中显示中文,一般显示中文有以下三种方法:
第一种:通过SQL查询语句的AS来改名,例如Pubs库的Jobs表我们可以写如下SQL:
select job_id as 编号,job_desc as 说明,min_lvl as 最小级,max_lvl as 最高级 from jobs;
这种方法还有简单的做法就是在数据库中建立视图,然后从视图来查询

第二种:我们可以通过DataTable的Columns集合中DataColumn对象的ColumnName属性来改变显示标题,例如:
dtJobs.Columns[0].ColumnName="编号";
这种做法的缺点是如果你想使用DataAdapter的Update方法将数据更新到数据库时需要重新改回原来的列名。

第三种:我们可以通过修改DataGrid来完成修改显示表标题:

在DataGrid的属性中有一个TableStyles属性,其中放置的是DataGridTableStyle对象,DataGridTableStyle对象用来描述DataGrid的样式,DataGridTableStyle对象中又有一个GridColumnStyles集合对象,GridColumnStyles放置的是GridColumnStyle对象,GridColumnStyle对象中包含了每一列数据显示的样式,其属性HeaderText就是我们要找的标题,还有Width表示每一列的宽度,如果要隐藏某一列只需要将这一列的Width=0即可,好了找到了这个对象我们就或以写一个通用类来控制每一张表的标题了。当然我们也可以直接操作DataGridTableStyle,例如要将DataGrid中的一列名为"Name"的改为"NO.",代码如下:

dataGrid1.TableStyles.Clear(); // 为了保险,这个加上
DataGridTableStylemyGridTableStyle = new DataGridTableStyle();
myGridTableStyle.MappingName
= " MyTableName " ; // 这个不能少
DataGridTextBoxColumnmycol = new DataGridTextBoxColumn();
mycol.MappingName
= " Name " ; // 与数据源绑定的字段
mycol.HeaderText = " No. " ; // DataGird显示的列名
myGridTableStyle.GridColumnStyles.Add(mycol);
dataGrid1.TableStyles.Add(myGridTableStyle);
这样DataGrid中显示的就不是“Name”而是“NO.”了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值