/ / Asp.Net 4.0 gridview, aby wyświetlić wartość atrybutu wyświetlania - asp.net

Widok siatki ASP.Net 4.0, aby wyświetlić wartość atrybutu wyświetlania - asp.net

Wyświetlałem listę niektórych klas w widoku siatki z AutoGenerateColumns = true.

Klasa ma prawie 70+ właściwości.

Teraz muszę zmienić nagłówek kolumny widoku siatki. Na przykład klasa ma właściwość o nazwie "ProductName", ale w widoku siatki po prostu muszę pokazać "Name".

Jednym ze sposobów jest usunięcie AutoGenerateColumns i oznaczenie wszystkiego jako boundfield. Ale to zbyt wiele ręcznego kodowania ... raczej wprowadzanie danych!

Zamierzałem użyć atrybutu Display właściwości class do wyświetlenia jako kolumna nagłówka w widoku siatki.

[Display(Name="Product")] public string ProdcutName { get; set;}

Czy jest jakiś sposób na użycie atrybutu Display w Gridview?

Zasugeruj także coś innego ...

Odpowiedzi:

0 dla odpowiedzi № 1

Jedną z opcji jest użycie zdarzenia RowDataBound, w którym można manipulować wartościami tekstu nagłówka.

Jeśli wiesz, że indeks kolumny będzie zawsze taki sam, możesz zrobić coś tak prostego jak:

if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[ColIndex].Text = "Product";
}

Lub możesz to ustawić deklaratywnie:

gView.Columns[ColIndex].HeaderText = "Product";