2012-08-05 119 views
0

我綁定與數據表格的網格視圖,我想綁定後計算一些值 實現此目的的簡單和常見的方法是在RowDataBound事件中執行所有計算,查找行中的控件並填充計算值。但是目前我在網格視圖中沒有任何控制權,而是直接使用Eval方法顯示值。在行數據綁定事件中修改網格視圖dataitem?

我想知道是否有任何的方式來更新與數據綁定事件網格視圖行關聯,所以我能避免添加控件,可以直接訪問這些計算列在模板領域,像這樣

protected void gvSuspensions_DataBound(object sender, EventArgs e) 
{ 
    foreach (GridViewRow row in gvPreviousSuspensions.Rows) 
    { 
     DataRowView rowView = (DataRowView)row.DataItem;// getting DataItem null :(
     rowView["ComputedColumn"] = "ComputedValue"; 
    } 
} 
數據項

且可以直接使用它像這樣

<asp:TemplateField> 
    <ItemTemplate> 
     <%# Eval("ComputedColumn") %> 
    </ItemTemplate> 
</asp:TemplateField> 

但是我得到空row.DataItem!

有什麼想法?

回答

0

您應該使用RowDataBound事件,它會給您一個對當前綁定行的引用。

protected void gvSuspensions_RowDataBound(Object sender, GridViewRowEventArgs e) 

而e.Row.DataItem是你應該訪問的。

Referece for RowDataBound

相關問題