web-dev-qa-db-ja.com

ASP.Netで実行時にGridView列を名前で非表示にする

名前で実行時にGridView列を表示/非表示にすることは可能ですか?

私は次のようにインデックスを介してそれを行うことができます:

gridReviews.Columns[4].Visible = false;

しかし、私は次のことをしたいと思います:

gridReviews.Columns["Name"].Visible = false;

これを行う最良の方法は何ですか?

19
Sun

次のコードを使用できます。

foreach (DataControlField col in gridReviews.Columns)
        {
            if (col.HeaderText == "Name")
            {
                col.Visible = false;
            }
        }
19
Imran Balouch

Gridviewのバインドに使用したデータにアクセスでき、gridview列がデータテーブルと同じ順序である(およびAutoGenerateColumns = false)場合、列名で間接的にgridviewにアクセスできます。

//Make ID column invisible by column name
gv.Columns[dt.Columns[ID].Ordinal].Visible = false;
0
Bolo