winform:我的DataGrid中为什么没有HeaderText属性?谢谢!

duanfeixox 2004-12-27 03:03:50
winform:我的DataGrid中为什么没有HeaderText属性?谢谢!
...全文
103 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
denxiaom 2005-05-11
  • 打赏
  • 举报
回复
mk
长江支流 2004-12-28
  • 打赏
  • 举报
回复
方法一:
直接在SQL中重命名
Select Order As 订单号,.... From ...
绑定后就是重名的列了

方法二:
指定TableStyle的列头文本
myColumnStyle1.HeaderText = "订单号"; //楼上的


方法三:
将datagrid的标题列那一行隐藏,在OnPaint事件中重绘标题行
marvelstack 2004-12-28
  • 打赏
  • 举报
回复
数据源绑定到DataGrid时实际上是绑定的DataView。如数据源是
DataSet时,则可以向DataMember 属性设置一个字符串,该字符串指定要绑定到的表,
然后再将DataMember指定的那个DataTable的DefaultView绑定到DataGrid。
DataGrid绑定到一个DataView后,由DataGrid.TableStyles中的
DataGridTableStyle 对象的集合来控制这个DataView的哪些列要显示,列的宽度多
少,列标头的文本是什么等等。确省的DataGrid.TableStyles中不包含任何对象,这时
DataGrid将会按照DataView列的顺序将所有的列都显示出来。如果想自己定制显示,这
就要用TableStyles来控制了。
新建一个TableStyle,将此TableStyle.MappingName属性对应到这个TableStyle要
控制的那个DataTable的名字:
DataGridTableStyle myTableStyle = new DataGridTableStyle();
myTableStyle.MappingName = "myDateTable";
再建立三个DataGridColumnStyle,分别用来控制将要显示的三个列,例如:
DataGridColumnStyle myColumnStyle1 = new DataGridTextBoxColumn();
myColumnStyle1.MappingName = "OrderID";
myColumnStyle1.HeaderText = "订单号";
DataGridColumnStyle myColumnStyle2 = new DataGridTextBoxColumn();
myColumnStyle2.MappingName = "CustomerID";
myColumnStyle2.HeaderText = "客户号";
DataGridColumnStyle myColumnStyle3 = new DataGridTextBoxColumn();
myColumnStyle3.MappingName = "OrderDate";
myColumnStyle3.HeaderText = "订单日期";
将这三个DataGridColumnStyle添加到TableStyle中:
myTableStyle.GridColumnStyles.Add(myColumnStyle1);
myTableStyle.GridColumnStyles.Add(myColumnStyle2);
myTableStyle.GridColumnStyles.Add(myColumnStyle3);
最后将TableStyle添加到DataGrid中:
dataGrid1.TableStyles.Add(myTableStyle);
将 TableStyle添加到DataGrid后,再绑定数据源,这时我们就会看到这样的数据显示
了。DataGrid的编辑修改 DataGrid支持对DataGrid所显示的DataTable的编辑修改,如
果不想修改只要DataGrid的ReadOnly属性为True,就可以了。

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧