2012-06-13 16 views
18

Czy można wyświetlić/ukryć kolumnę GridView w środowisku wykonawczym według nazwy?Ukryj kolumnę GridView według nazwy w czasie wykonywania w ASP.Net

mogę to zrobić za pomocą indeksu jak następuje:

gridReviews.Columns[4].Visible = false; 

Jednak chciałbym wykonać następujące czynności:

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

Jaki jest najlepszy sposób to zrobić?

+0

Czy chcesz użyć tekstu nagłówka lub kolumny/nazwy właściwości w źródle danych? – David

+0

Podnosisz dobry punkt, który może mnie powstrzymać. Tekst nagłówka może się zmieniać w zależności od danych siatki, więc nie mogę tego użyć. Jednak kolumna, którą muszę ukryć, to TemplateField, która nie jest związana ze źródłem danych i nie ma identyfikatora. – Sun

Odpowiedz

17

Można użyć następującego kodu dla niego:

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

Można uzyskać dostęp do GridView przez nazwę kolumny pośrednio, czy można uzyskać dostęp do danych, które wykorzystywane do wiązania GridView i GridView kolumny są w tej samej kolejności jako datatable (i AutoGenerateColumns = false):

//Make ID column invisible by column name 
gv.Columns[dt.Columns[ID].Ordinal].Visible = false; 
Powiązane problemy