【发布时间】:2013-11-27 20:41:29
【问题描述】:
我有一个gridview,在用户按下带有查询代码的按钮后显示来自1个表的查询数据,这个gridview有autogeneratecolumns = false,我自己添加了BoundField DataField标题文本,例如,第一列db 的名称为“prd_nome”,我将其更改为“nome”,一切正常。
现在我在数据库中创建了另一个表,具有不同的名称和不同的列名,我还添加了另一个按钮,其中包含查询后面的代码以从该表中获取数据,但为了显示数据现在 autogeneratecolumns = true,我测试了按钮并且它可以工作,但是标题文本与列名相同,并且 ID 列也显示为两个查询。
如何将标题文本硬编码为我想要的内容以及如何隐藏 ID 列?通过标签?通过boundfield数据字段?通过 AS sql 运算符? 如果有人可以帮助我,我将不胜感激,因为我是 c# 新手
这是当前的gridview asp代码:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true"></asp:GridView>
这是传递第一个表中的查询的按钮的代码:
protected void Button1_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
SqlConnection connection = new SqlConnection(GetConnectionString());
connection.Open();
SqlCommand sqlCmd = new SqlCommand("SELECT * FROM [ERPDQ].[dbo].[prd] WHERE prd_desc LIKE ('torta%')", connection);
SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
sqlDa.Fill(dt);
if (dt.Rows.Count > 0)
{
GridView1.DataSource = dt;
GridView1.DataBind();
}
connection.Close();
}
这是传递有关第二个表的查询的按钮中的代码:
protected void Button6_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
SqlConnection connection = new SqlConnection(GetConnectionString());
connection.Open();
SqlCommand sqlCmd = new SqlCommand("SELECT * FROM [ERPDQ].[dbo].[outra]", connection);
SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
sqlDa.Fill(dt);
if (dt.Rows.Count > 0)
{
GridView1.DataSource = dt;
GridView1.DataBind();
}
connection.Close();
}
}
【问题讨论】:
-
请以您想要的标题文本的方式进行查询
标签: c# asp.net gridview dynamic autogeneratecolumn