ASP.NET 如何修改未绑定数据源的GridView的列标题?
开始我用GridView1连接一个数据库,用向导设置的数据源,当时有个高级选项,把删除,编辑等功能勾选上。然后点GridView1的“编辑列”,在里面可实现各种修改(包括...
开始我用GridView1连接一个数据库,用向导设置的数据源,当时有个高级选项,把删除,编辑等功能勾选上。然后点GridView1的“编辑列”,在里面可实现各种修改(包括列的标题以及是否显示列标题等)。
现在的问题是我又添加了一个GridView2,未用向导绑定数据源,然后用一个TextBox和Button控件实现查询功能。运行的时候不显示GridView2,在TextBox中输入查询字符后,点击按钮将查询信息显示到GridView2中。其实查询指向的还是同一个数据源。这时GridView2的列标题是数据库表中的名字,现在我想修改其列标题或者某列可见性,在“编辑列”选项里没有以上功能。请问如何实现?
这里附上Button的代码:
protected void Button2_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\test.mdf;Integrated Security=True;User Instance=True");
conn.Open();
string sql1="select * from [Save] where Name='" + TextBox1.Text.Trim() + "'";
SqlCommand cmd1 = new SqlCommand(sql1, conn);
SqlDataAdapter da = new SqlDataAdapter(cmd1);
DataSet ds = new DataSet();
da.Fill(ds);
GridView2.DataSource = ds;
GridView2.DataBind();
}
查询功能可实现,问题是修改不了列标题和其可见性. 展开
现在的问题是我又添加了一个GridView2,未用向导绑定数据源,然后用一个TextBox和Button控件实现查询功能。运行的时候不显示GridView2,在TextBox中输入查询字符后,点击按钮将查询信息显示到GridView2中。其实查询指向的还是同一个数据源。这时GridView2的列标题是数据库表中的名字,现在我想修改其列标题或者某列可见性,在“编辑列”选项里没有以上功能。请问如何实现?
这里附上Button的代码:
protected void Button2_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\test.mdf;Integrated Security=True;User Instance=True");
conn.Open();
string sql1="select * from [Save] where Name='" + TextBox1.Text.Trim() + "'";
SqlCommand cmd1 = new SqlCommand(sql1, conn);
SqlDataAdapter da = new SqlDataAdapter(cmd1);
DataSet ds = new DataSet();
da.Fill(ds);
GridView2.DataSource = ds;
GridView2.DataBind();
}
查询功能可实现,问题是修改不了列标题和其可见性. 展开
3个回答
展开全部
两个方法:
1、在SELECT 语句中你不要用类似“select * from [Save] where……”。而是采用类似“select FField1 as 列名1,FField2 as 列名2,FField3 as 列名3 from [Save] where”;
2、在
GridView2.DataSource = ds;
GridView2.DataBind();
之后,你手动修改表格的列名:DATAGRIDVIEW2.Cols[0].text ="列名1";
DATAGRIDVIEW2.Cols[1].text ="列名2";
希望有所帮助
1、在SELECT 语句中你不要用类似“select * from [Save] where……”。而是采用类似“select FField1 as 列名1,FField2 as 列名2,FField3 as 列名3 from [Save] where”;
2、在
GridView2.DataSource = ds;
GridView2.DataBind();
之后,你手动修改表格的列名:DATAGRIDVIEW2.Cols[0].text ="列名1";
DATAGRIDVIEW2.Cols[1].text ="列名2";
希望有所帮助
展开全部
需要你自己设置GridView的Column的HeaderText,因为如果你打开AutoGenerateColumns的时候GridView会自动根据你的数据源属性的名称,而DataTable的列名是没办法随便改的,或者你可以手动根据DataTable的列来添加GridView的列
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
切换到代码模式,然后再改.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询