1. ホーム
  2. c#

[解決済み] GridView コードによるカラムの非表示

2022-02-19 08:49:13

質問

GridViewのIDカラムを非表示にしたいのですが、以下のコードを知っていました。

GridView1.Columns[0].Visible = false;

が、驚いたのは、私のcountプロパティの GridView カラムは0です!!一方で GridView ということで、何か思い当たることはありますか?

ありがとうございました。

更新してください。

を生成するメソッドの完全なコードは次のとおりです。 GridView

public DataSet GetAllPatients()
{
    SqlConnection connection = new SqlConnection(this.ConnectionString);

    String sql = "SELECT [ID],[Name],[Age],[Phone],[MedicalHistory],[Medication],[Diagnoses] FROM [dbo].[AwadyClinc_PatientTbl]order by ID desc";

    SqlCommand command = new SqlCommand(sql, connection);

    SqlDataAdapter da = new SqlDataAdapter(command);

    DataSet ds = new DataSet();

    da.Fill(ds);

    return ds;

}

解決方法は?

GridView.Columns.Count は、GridViewにその AutoGenerateColumns プロパティに設定されています。 true (デフォルトは true ).

カラムを明示的に宣言し、そのカラムに AutoGenerateColumns プロパティに false または、codebehindでこれを使用することができます。

GridView.Rows[0].Cells.Count

で、GridViewのデータがバインドされたらカラム数を取得する、またはこれ。

protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    e.Row.Cells[index].Visible = false;
}

を使用してカラムを非表示に設定するには、GridViewの RowDataBound イベントが発生します。