两种方法修改datagrid的列名怎么都不行???
主 题: 两种方法修改datagrid的列名怎么都不行???
作 者: luoxiang2000 (腾空)
等 级: ^
信 誉 值: 100
所属论坛: .NET技术 C#
问题点数: 50
回复次数: 11
发表时间: 2003-7-14 0:59:28
1、
DataGridTableStyle ts = new DataGridTableStyle();
ts.MappingName = "infboard";//要和datagrid的表名一样
dataGrid1.TableStyles.Add(ts);
ts.GridColumnStyles["topic"].HeaderText="标题";
报错:未处理的"System.NullReferenceException"类型的异常出现在abc.exe中。
其它信息:未将对象引用设置到对象的实例。
2、
我修改了sqlDataAdapter1的selectd的commandtext语句,为 select topic as 标题 from infboard
也报错:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
原因好像是因为topic是这个表的主键,那怎么办呢?
回复人: luoxiang2000(腾空) ( 一级(初级)) 信誉:100 2003-7-14 1:00:37 得分:0
这种方法也不行:
DataGrid.Columns[0].ColumnName="姓名"
结果出错
“System.Windows.Forms.DataGrid”并不包含对“Column”的定义
请问是怎么回事?
回复人: lufly2000(凌绝顶) ( 四级(中级)) 信誉:99 2003-7-14 1:29:08 得分:20
要创建
DataGridTextBoxColumn
和DataGridTableStyle
,然后datagridtablestyle.GridColumnStyles.Add(DataGridTextBoxColumn对象)
最后DataGrid1.TableStyles.Add(datagridtablestyle)
这是vb.net中的代码,自己转换一下吧。。
Dim objdatagridtablestyle As New DataGridTableStyle()
Dim objtextcol As New DataGridTextBoxColumn()
objdatagridtablestyle.AlternatingBackColor = Color.WhiteSmoke
objdatagridtablestyle.MappingName = "qinggou"
objtextcol.MappingName = "nno"
objtextcol.HeaderText = "零件编号"
objdatagridtablestyle.GridColumnStyles.Add(objtextcol)
objtextcol = New DataGridTextBoxColumn()
objtextcol.MappingName = "na1"
objtextcol.HeaderText = "零件名称"
objdatagridtablestyle.GridColumnStyles.Add(objtextcol)
DataGrid1.TableStyles.Add(objdatagridtablestyle)
回复人: zjjszw(穿四條褲叉的蚊子) ( 四级(中级)) 信誉:100 2003-7-14 9:01:00 得分:10
直接在DataGrid中修改啊
<asp:DataGrid id="DataGrid" runat="server" Width="690px" Height="100px">
<Columns>
<asp:BoundColumn HeaderText="姓名" DataField="表的相關字段"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
回复人: szfly(szfly) ( 二级(初级)) 信誉:98 2003-7-14 9:03:58 得分:5
要么在执行的SQL中直接写好列名:
select 要的列名=字段名 from 表名
回复人: HenanBoy(想飞的更高) ( 二级(初级)) 信誉:100 2003-7-14 10:08:57 得分:8
同意
szfly(szfly)
,如果没有其它的意思就用Select语句了,
如果有其他的用处 lufly2000(凌绝顶) 的方法也可以的,我以前用过的,不过比较犯
回复人: orcale(突破菜鳥極限) ( 四级(中级)) 信誉:99 2003-7-14 11:06:11 得分:2
用headertext屬性應該可以
回复人: luoxiang2000(腾空) ( 一级(初级)) 信誉:100 2003-7-14 11:48:37 得分:0
不好意思,我上面说了:
我修改了sqlDataAdapter1的selectd的commandtext语句,为select topic as 标题 from infboard
也报错:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
原因好像是因为topic是这个表的主键,那怎么办呢?
回复人: 91bct(行人) ( 四级(中级)) 信誉:100 2003-7-14 11:53:06 得分:5
1.直接在DataGrid的属性中修改;
2.如果用SQL应该是:select name 姓名,age 年龄 from myTable;
回复人: luoxiang2000(腾空) ( 一级(初级)) 信誉:100 2003-7-14 12:22:13 得分:0
DataGrid的属性中我没有找到能修改列名的项目?
用sql根本就不行???报错:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
回复人: luoxiang2000(腾空) ( 一级(初级)) 信誉:100 2003-7-14 15:19:11 得分:0
我试了以下代码,也没有任何反映,也不报错:???
DataGridTableStyle ts = new DataGridTableStyle();
DataGridTextBoxColumn tbc = new DataGridTextBoxColumn();
ts.AlternatingBackColor=Color.WhiteSmoke;
ts.MappingName="infboard";
tbc.MappingName="topic";
tbc.HeaderText="标题";
ts.GridColumnStyles.Add(tbc);
this.dataGrid1.TableStyles.Add(ts);
回复人: luoxiang2000(腾空) ( 一级(初级)) 信誉:100 2003-7-20 13:03:10 得分:0
?
该问题已经结贴 ,得分记录: lufly2000 (20)、 zjjszw (10)、 szfly (5)、 HenanBoy (8)、 orcale (2)、 91bct (5)、