ユーザーがクエリの背後にあるコードでボタンを押した後、1 つのテーブルからクエリ データを表示するグリッドビューがあります。このグリッドビューには autogeneratecolumns = false があり、BoundField DataField ヘッダー テキストを自分で追加しました。 「prd_nome」という名前を「nome」に変更すると、すべてが想定どおりに機能しました。
今、別の名前と別の列名を使用して、データベースに別のテーブルを作成しました。また、そのテーブルからデータを取得するためのコード ビハインド クエリを含む別のボタンを追加しましたが、データを表示するために、 autogeneratecolumns = true、ボタンをテストしたところ動作しましたが、ヘッダー テキストは列名と同じで、ID 列も両方のクエリで表示されています。
ヘッダー テキストを必要なものにハード コードする方法と、ID 列を非表示にする方法を教えてください。ラベル経由?バウンドフィールドデータフィールド経由?AS sql演算子を介して?誰かが私を助けることができれば、私はac#の初心者なので感謝します
これが現在の 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();
}
2 番目のテーブルに関するクエリを渡すボタンのコードは次のとおりです。
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();
}
}