datagrid在winform中的显示!

ppr98 2003-08-23 09:38:28
请问在winform程序中怎样调整datagrid的显示啊?
例如在datagrid中的列名都是以默认的数据库列名显示的,我能不能自定义显示这些列的列名?
另外怎样从datagrid中获取当前的选定列的index啊?
谢谢!
...全文
50 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ppr98 2003-08-24
  • 打赏
  • 举报
回复
thank you greenhill!!
greenhill1 2003-08-23
  • 打赏
  • 举报
回复
你看看这里有个datagrid的例子!里面有怎样设置的
http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=C83C3A4B-8571-4CE6-FBAC-35DC28D14389
http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp#q869q
greenhill1 2003-08-23
  • 打赏
  • 举报
回复
DataGridTextBoxColumn TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = "custID";//绑定列名
TextCol.HeaderText = "序号";
TextCol.Width = 100;
ts1.GridColumnStyles.Add(TextCol);
这些就是对datagrid的样式设置!
greenhill1 2003-08-23
  • 打赏
  • 举报
回复
private void AddCustomDataTableStyle()
{
DataGridTableStyle ts1 = new DataGridTableStyle();
ts1.MappingName = "Customers";
// 设置属性
ts1.AlternatingBackColor = Color.LightGray;

// 添加Textbox列样式,以便我们捕捉鼠标事件
DataGridTextBoxColumn TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = "custID";
TextCol.HeaderText = "序号";
TextCol.Width = 100;

//添加事件处理器
TextCol.TextBox.MouseDown += new MouseEventHandler(TextBoxMouseDownHandler);
TextCol.TextBox.DoubleClick += new EventHandler(TextBoxDoubleClickHandler);
ts1.GridColumnStyles.Add(TextCol);

TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = "custName";
TextCol.HeaderText = "姓名";
TextCol.Width = 100;
//添加事件处理器
TextCol.TextBox.MouseDown += new MouseEventHandler(TextBoxMouseDownHandler);
TextCol.TextBox.DoubleClick += new EventHandler(TextBoxDoubleClickHandler);
ts1.GridColumnStyles.Add(TextCol);

TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = "custCity";
TextCol.HeaderText = "地址";
TextCol.Width = 100;
//添加事件处理器
TextCol.TextBox.MouseDown += new MouseEventHandler(TextBoxMouseDownHandler);
TextCol.TextBox.DoubleClick += new EventHandler(TextBoxDoubleClickHandler);
ts1.GridColumnStyles.Add(TextCol);

dataGrid1.TableStyles.Add(ts1);

}
ppr98 2003-08-23
  • 打赏
  • 举报
回复
dgtbc1
dgtbc2
分别是什么东西啊?
我添加的数据不是由向导生成的!是由其他对象返回的一个dataview!
谢谢!
ppr98 2003-08-23
  • 打赏
  • 举报
回复
谢谢雪狼!我去试试!
cnhgj 2003-08-23
  • 打赏
  • 举报
回复
oh~~~~~~~~~狼兄说得可真是详细啊!!!!!
雪狼1234567 2003-08-23
  • 打赏
  • 举报
回复
手工方法如下:
选中DataGrid,点属性的TableStyles->出现画面点->添加->设置它右边的属性MappingName为你的表名如person->然后再点GridColumnStyles->添加->设置它的MappingName为你的列名,HeaderText为你想要显示的名字
雪狼1234567 2003-08-23
  • 打赏
  • 举报
回复
2...
更改如下代码:dgtbc是你的
//
// dgtbc1
//
this.dgtbc1.Format = "";
this.dgtbc1.FormatInfo = null;
this.dgtbc1.HeaderText = "姓名";
this.dgtbc1.MappingName = "name";
this.dgtbc1.Width = 75;
//
// dgtbc2
//
this.dgtbc2.Format = "";
this.dgtbc2.FormatInfo = null;
this.dgtbc2.HeaderText = "性别";
this.dgtbc2.MappingName = "sex";
this.dgtbc2.Width = 75;
雪狼1234567 2003-08-23
  • 打赏
  • 举报
回复
可以,两种方法:
1.你在数据库取数据的时候变以
select name 姓名,sex 性别 from person

110,502

社区成员

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

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

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