C#中datagridview手动绑定数据后怎么编辑列?

我给datagridview手动绑定数据:
public void DataBind()
{
DBHelper.conn.Open();
string selStr = "select * from Consume";
SqlCommand cmd = new SqlCommand(selStr, DBHelper.conn);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds, "Consume");
datagridview1.DataSource = ds.Tables[0];
datagridview1.AutoGenerateColumns = false;
DBHelper.conn.Close();
}
然后在窗口的Load事件中调用了DataBind(),这样我打开datagridview右上角的智能标签中的“编辑列”,里面是空白,不能编辑列,请问手动绑定数据后如何正确编辑我想要显示的列呢?
我是想将数据库里的列(列名是英文)改成中文列名后显示在datagridview里面。添加列我运行一看,添加的列和数据库里的列全部显示出来了。
3楼的,我问的是winform... winform里面是不是也可以用代码设置HeaderText?

给你最有效的办法:

在查询数据库,返回结果集时更改查询语句,直接返回中文名称的表。例如:select wordID as '单词ID',wordEnglish as '英文单词', wordChinese as '中文解释' from Word
这样的话绑定数据到DataGradView控件时仅仅使用DataGradView控件的一个属性datagridview1.DataSource足够了!!!(如果是WEB程序后面加datagridview1.DataBind();)

查询的时候最好把顺序排好,这样界面代码的复杂程度大大减少。

根据你的补充,你是为显示了所有列而烦恼吧。
这样搞定: this.datagridview1.Columns[1].Visible = false;
或者这样:this.datagridview1.Columns["userID"].Visible = false;
不想让哪一列显示就更改哪一列的Visible属性值为false即可!(列的标示可以用下标,也可以用数据库查出数据时的列名)
另外你说HeaderText属性,WinForm里的DataGradView当然有这个属性了,它是用来设置列头文字的,你可以设置某列的列头文字为英文,也可以设置成中文,示例如下:
this.datagridview1.Columns[1].HeaderText = "UserName";
this.datagridview1.Columns[1].HeaderText = "用户名字";

这样解释你该清清楚楚,明明白白了吧~

参考资料:编程小技 暂无参考

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-22
[原创]C# 数据操作窗体实现增/删/改/查(图)源代码
http://hi.baidu.com/jonnysuen/blog/item/cec692502c76f8858c543094.html

搜索"C#易学网"或进入我的百度空间,有大量原创代码。
第2个回答  2009-10-22
在aspx页面里面的:

<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:BoundField HeaderText="姓名" DataField="Name" />
<asp:BoundField DataField="性别" HeaderText="Sex" />
</Columns>
</asp:GridView>
应该很清楚了吧!
第3个回答  2009-10-22
添加几个列名啊
相似回答