datagrid中如何更改数据库字段名? 显示出来的都是数据库字段的名称,如何改成中文啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你是用DataSet来填充DATAGRID的话,可以用以下代码来达到你的效果:ds.Tables["DS中的表名"].Columns[列序号].ColumnName = "你要的中文名字"; 在DataGrid的属性里面可以设置你要显示的字段名称 在它的DataProptyName设置上对应的数据库字段名称 能不能只改显示的名字,而不改datatable中的列名?因为一旦改了后,判断列名就会失败,程序会无法添加 指定column的headertext就好了。谁能写个例子啊?急死了 <asp:BoundColumn DataField="流程名称" HeaderText="流程名称别名"> <HeaderStyle Wrap="False" HorizontalAlign="Center"></HeaderStyle> <ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle> </asp:BoundColumn>流程名称是数据库里面的字段名 。 谢谢楼上的大哥,问题是我用的是winform,不是web看来新手直接上c#难度不小,碰到问题超多 直接在sql语句里加上可以吗?select [student_num] as 学号,[student_name] as 姓名.... where .... http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx 就在DataGrid的属性生成器中,把列的Boundcolumn属性的页眉文本设置为显示字段如(编号)把数据字段是写数据库中对应的字段名,就OK了 楼上的说的都是asp编程我要的是C# winform啊 //建立列表格的显示样子 private void CreateStyles(DataGrid dg,string tableName) { dg.TableStyles.Clear(); DataGridTableStyle style = new DataGridTableStyle(); style.MappingName = tableName; style.AlternatingBackColor = System.Drawing.Color.Bisque; DataGridTextBoxColumn a = new DataGridTextBoxColumn(); //1 a.HeaderText = "票据流水号"; a.MappingName = "SerialNo"; a.Width = 80; a.ReadOnly = true; a.NullText = ""; DataGridTextBoxColumn b = new DataGridTextBoxColumn(); //2 b.HeaderText = "票据类别"; b.MappingName = "PJLB"; b.Width = 80; b.ReadOnly = true; b.NullText = ""; DataGridTextBoxColumn c = new DataGridTextBoxColumn(); //3 c.HeaderText = "票据号码"; c.MappingName = "PJH"; c.Width = 80; c.ReadOnly = true; c.NullText = ""; DataGridTextBoxColumn d = new DataGridTextBoxColumn(); //4 d.HeaderText = "票面金额"; d.MappingName = "PMJE"; d.Width = 80; d.Format = "#,###.00"; d.Alignment = HorizontalAlignment.Right; d.ReadOnly = true; d.NullText = ""; DataGridTextBoxColumn e = new DataGridTextBoxColumn(); //5 e.HeaderText = "产品部名称"; e.MappingName = "DWMC"; e.Width = 80; e.ReadOnly = true; e.NullText = ""; DataGridTextBoxColumn f = new DataGridTextBoxColumn(); //6 f.HeaderText = "物料名称"; f.MappingName = "MaterielName"; f.Width = 100; f.ReadOnly = true; f.NullText = ""; DataGridTextBoxColumn g = new DataGridTextBoxColumn(); //7 g.HeaderText = "客户经理"; g.MappingName = "ZRR_NAME"; g.Width = 60; g.ReadOnly = true; g.NullText= ""; style.GridColumnStyles.AddRange(new DataGridColumnStyle[]{a,b,c,d,e,f,g}); dg.TableStyles.Add(style); } //建立列表格的显示样子private void CreateStyles(DataGrid dg,string tableName){ dg.TableStyles.Clear(); DataGridTableStyle style = new DataGridTableStyle(); style.MappingName = tableName; style.AlternatingBackColor = System.Drawing.Color.Bisque; DataGridTextBoxColumn a = new DataGridTextBoxColumn(); //1 a.HeaderText = "票据流水号"; //你想要的中文标题 a.MappingName = "SerialNo"; //表中的字段名 a.Width = 80; DataGridTextBoxColumn b = new DataGridTextBoxColumn(); //2 b.HeaderText = "票据类别"; b.MappingName = "PJLB"; b.Width = 80; style.GridColumnStyles.AddRange(new DataGridColumnStyle[]{a,b}); dg.TableStyles.Add(style);}在form_load中添加this.CreateStyles(this.dataGrid1,"Table"); 你可以在设计器中 设置你要显示得字段得名字!headText public void SetGridStyleDataSouce(DataGrid Dg,DataTable Tb,bool AllowSorting,bool AllowAdd) { DataGridTableStyle Dt=new DataGridTableStyle(); Tb.DefaultView.AllowNew=AllowAdd;//是否可自动增长 Dt.AllowSorting=AllowSorting;//是否可排序 Dg.TableStyles.Clear(); Dg.DataSource=Tb;//设置DataGrid的数据源 Dt.MappingName=Tb.TableName; int ColNum=Tb.Columns.Count;//得到Tb的列数 for(int i=0;i<ColNum;i++)////重绘所有的列 { DataGridTextBoxColumn Db =new DataGridTextBoxColumn(); Db.TextBox.Name=Tb.Columns[i].ColumnName;//设置每一列的名字 注:为中文名 Db.HeaderText=Tb.Columns[i].ColumnName;//设置每一列的列头为中文名 Db.MappingName=Tb.Columns[i].ColumnName; Db.NullText="";//当Textbox为Null时转成空 switch(Tb.Columns[i].ColumnName) { case "A": { Dt.PreferredColumnWidth=60;//设置宽度 Tb.Columns[i].ReadOnly=true;//是否只读 break; } case "B": { Dt.PreferredColumnWidth=0; Tb.Columns[i].ReadOnly=true; break; } } Dt.GridColumnStyles.Add(Db);//增加样式 Db.Dispose(); } Dg.TableStyles.Add(Dt); //DATAGRID增加一种样式 } 在属性里就可以了,datagrid有个tableStyle里面添加一项,在右下角的mappingname显示你要操作的表,然后在gridcolumnStyles里进去再添加你要显示的项数,在相应的dataGridTextBoxColumn1右边有个text在那边写你要写的中文就可以了 MappingName可以改的这个和ASP.NET里的不同的 直接在sql语句里加上select [student_num] as 学号,[student_name] as 姓名.... where .... zl_xue(缺点) 直接在sql语句里加上select [student_num] as 学号,[student_name] as 姓名.... where ....正解... 指定column的headertext就好了,在设计环境直接改就行了 http://ankoe.cnblogs.com/articles/352952.html 简单的方法就是在Sql语句中给,字段来个别名就OK~~~~~~~~~~~ 视频、图片、音频。。。啥都有对应的二进制???? c#如何合并两个label为一个控件 return string.Format("{0:D3}", i_Temp);这个{0:D3}是什么意思???? 请教两表里值的比较 子类如何重写父类的Set? 關於ADRead C#中有没有这个控件。 字符反转??? 保存XML的問題 紧急求助,散分! 菜鸟怎么得分呀? DataGrid中设置单元格格式(日期型)
ds.Tables["DS中的表名"].Columns[列序号].ColumnName = "你要的中文名字";
谁能写个例子啊?急死了
<HeaderStyle Wrap="False" HorizontalAlign="Center"></HeaderStyle>
<ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>流程名称是数据库里面的字段名 。
看来新手直接上c#难度不小,碰到问题超多
select [student_num] as 学号,[student_name] as 姓名.... where ....
把数据字段是写数据库中对应的字段名,就OK了
private void CreateStyles(DataGrid dg,string tableName)
{
dg.TableStyles.Clear();
DataGridTableStyle style = new DataGridTableStyle();
style.MappingName = tableName;
style.AlternatingBackColor = System.Drawing.Color.Bisque; DataGridTextBoxColumn a = new DataGridTextBoxColumn(); //1
a.HeaderText = "票据流水号";
a.MappingName = "SerialNo";
a.Width = 80;
a.ReadOnly = true;
a.NullText = ""; DataGridTextBoxColumn b = new DataGridTextBoxColumn(); //2
b.HeaderText = "票据类别";
b.MappingName = "PJLB";
b.Width = 80;
b.ReadOnly = true;
b.NullText = ""; DataGridTextBoxColumn c = new DataGridTextBoxColumn(); //3
c.HeaderText = "票据号码";
c.MappingName = "PJH";
c.Width = 80;
c.ReadOnly = true;
c.NullText = ""; DataGridTextBoxColumn d = new DataGridTextBoxColumn(); //4
d.HeaderText = "票面金额";
d.MappingName = "PMJE";
d.Width = 80;
d.Format = "#,###.00";
d.Alignment = HorizontalAlignment.Right;
d.ReadOnly = true;
d.NullText = "";
DataGridTextBoxColumn e = new DataGridTextBoxColumn(); //5
e.HeaderText = "产品部名称";
e.MappingName = "DWMC";
e.Width = 80;
e.ReadOnly = true;
e.NullText = ""; DataGridTextBoxColumn f = new DataGridTextBoxColumn(); //6
f.HeaderText = "物料名称";
f.MappingName = "MaterielName";
f.Width = 100;
f.ReadOnly = true;
f.NullText = ""; DataGridTextBoxColumn g = new DataGridTextBoxColumn(); //7
g.HeaderText = "客户经理";
g.MappingName = "ZRR_NAME";
g.Width = 60;
g.ReadOnly = true;
g.NullText= ""; style.GridColumnStyles.AddRange(new DataGridColumnStyle[]{a,b,c,d,e,f,g});
dg.TableStyles.Add(style);
}
private void CreateStyles(DataGrid dg,string tableName)
{
dg.TableStyles.Clear();
DataGridTableStyle style = new DataGridTableStyle();
style.MappingName = tableName;
style.AlternatingBackColor = System.Drawing.Color.Bisque; DataGridTextBoxColumn a = new DataGridTextBoxColumn(); //1
a.HeaderText = "票据流水号"; //你想要的中文标题
a.MappingName = "SerialNo"; //表中的字段名
a.Width = 80;
DataGridTextBoxColumn b = new DataGridTextBoxColumn(); //2
b.HeaderText = "票据类别";
b.MappingName = "PJLB";
b.Width = 80;
style.GridColumnStyles.AddRange(new DataGridColumnStyle[]{a,b});
dg.TableStyles.Add(style);
}在form_load中添加
this.CreateStyles(this.dataGrid1,"Table");
headText
{
DataGridTableStyle Dt=new DataGridTableStyle();
Tb.DefaultView.AllowNew=AllowAdd;//是否可自动增长
Dt.AllowSorting=AllowSorting;//是否可排序
Dg.TableStyles.Clear();
Dg.DataSource=Tb;//设置DataGrid的数据源
Dt.MappingName=Tb.TableName;
int ColNum=Tb.Columns.Count;//得到Tb的列数
for(int i=0;i<ColNum;i++)////重绘所有的列
{
DataGridTextBoxColumn Db =new DataGridTextBoxColumn();
Db.TextBox.Name=Tb.Columns[i].ColumnName;//设置每一列的名字 注:为中文名
Db.HeaderText=Tb.Columns[i].ColumnName;//设置每一列的列头为中文名
Db.MappingName=Tb.Columns[i].ColumnName;
Db.NullText="";//当Textbox为Null时转成空
switch(Tb.Columns[i].ColumnName)
{
case "A":
{
Dt.PreferredColumnWidth=60;//设置宽度
Tb.Columns[i].ReadOnly=true;//是否只读
break;
}
case "B":
{
Dt.PreferredColumnWidth=0;
Tb.Columns[i].ReadOnly=true;
break;
}
}
Dt.GridColumnStyles.Add(Db);//增加样式
Db.Dispose();
}
Dg.TableStyles.Add(Dt); //DATAGRID增加一种样式
}
select [student_num] as 学号,[student_name] as 姓名.... where ....
select [student_num] as 学号,[student_name] as 姓名.... where ....
正解...