[英]Changing Gridview row background color when editing?
在編輯時編輯gridview行的背景顏色我遇到了一些麻煩。
問題是,我正在使用RowDataBound
事件方法在顯示報告時根據條件更改e.Row.BackColor
(3種不同的顏色取決於結果)。 對於不符合該條件的行,單擊“編輯”按鈕時將應用GridView的屬性<EditRowStyle BackColor="#999999" />
。
但是,我似乎無法找到一種方法來改變那些符合標准的顏色,因為RowDataBound似乎一直被調用,覆蓋了我所做的任何更改。
有什么建議么?
在Grid RowEditing事件中寫一行:
GridView1.EditRowStyle.BackColor = System.Drawing.Color.LightYellow;
希望這可以幫助。 配置GridView行編輯。 這應該是足夠的信息。 如果您需要更多,請告訴我。
protected void uxGrid_RowEditing(object sender, GridViewEditEventArgs e)
{
ClearBackColor();
GridViewRow row = uxGrid.Rows[e.NewEditIndex];
row.BackColor = Color.LightYellow;
}
private void ClearBackColor()
{
foreach (GridViewRow row in uxGrid.Rows)
{
row.BackColor = System.Drawing.Color.Transparent;
}
}
嘗試:
<asp:GridView runat="server" >
<Columns>
</Columns>
<EditRowStyle BackColor="#999999" />
<SelectedRowStyle BackColor="#999999" />
</asp:GridView>
為什么不編寫自己的邏輯方法來改變行的顏色?,循環遍歷行,這可以避免回發問題......也許!
正如@Rami所說,創建一個循環DataGrid行並更改顏色的方法。 在PreRender事件處理程序中調用此方法。 這樣每次回發都會調用此方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.