webentwicklung-frage-antwort-db.com.de

Blenden Sie eine GridView-Spalte nach Namen zur Laufzeit in ASP.Net aus

Ist es möglich, eine GridView-Spalte zur Laufzeit nach Namen anzuzeigen/auszublenden?

Ich kann es über den Index wie folgt machen: 

gridReviews.Columns[4].Visible = false;

Ich möchte jedoch Folgendes tun:

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

Was ist der beste Weg dies zu tun?

19
Sun

Sie können den folgenden Code dafür verwenden:

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

Sie können auf den Gridview indirekt über den Spaltennamen zugreifen, wenn Sie auf die Daten zugreifen können, die Sie zum Binden des Gridview verwendet haben, und die Gridview-Spalten in derselben Reihenfolge wie die Datentabelle (und AutoGenerateColumns = false) angeordnet sind:

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