2012-11-19 148 views
0

我一直在使用AutoGenerateColumns = true在gridview中顯示一些類的列表。Asp.Net 4.0 gridview顯示顯示屬性值

該課程擁有近70多個屬性。

現在我需要更改gridview的列標題。例如,類有名爲「ProductName」的屬性,但在gridview中,我只需要顯示「Name」。

一種方法是刪除AutoGenerateColumns並將所有內容都表示爲boundfield。但是它太多的手工編碼......而是數據輸入!

我想使用類屬性的Display屬性顯示爲gridview中的標題列。

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

有什麼辦法可以在GridView中使用Display屬性嗎?

同時建議別的東西也...

回答

0

一種選擇是使用RowDataBound事件,在那裏你可以操縱的標題文字的值。

如果您知道列的索引將始終是相同的,你可以做的簡單的東西:

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

或者,你可以聲明其設置:

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

也就是說相同的手動處理... – StartingFromScratch

+0

displayName值來自哪裏?它是返回數據集的一部分嗎? –

+0

我沒有返回數據集...其通用列表,我將它與gridview和autogeneratedcolumn = true綁定。當我在gridview中爲所有屬性編寫bounditem時,我們可能會關閉該問題... – StartingFromScratch