0
我有一列有各種狀態,根據字母改變顏色。GridView中的OnDatabound事件無法正常工作編輯
例如,如果字母是「R」,那麼細胞是紅色的,如果「G」,那麼綠,等...
問題是這樣的初步工作,但那麼當用戶編輯記錄和變化顏色不更新到相應字母的狀態。
請看看代碼,讓我知道我做錯了:
if (dataItem != null)
{
var label = dataItem["Status"].FindControl("StatusID") as Label;
if (label != null)
{
var item = dataItem;
var text = label.Text;
switch (text)
{
case "G":
item["Status"].BackColor = Color.Green;
break;
case "Y":
item["Status"].BackColor = Color.Yellow;
break;
case "O":
item["Status"].BackColor = Color.Orange;
break;
case "M":
item["Status"].BackColor = Color.SaddleBrown;
break;
case "R":
item["Status"].BackColor = Color.Red;
break;
case " ":
item["Status"].BackColor = Color.Gray;
break;
}
}
}
立即更新 當我去編輯記錄的一些記錄不允許我更新它們。
<EditItemTemplate>
<telerik:RadComboBox ID="StatusDDL" runat="server" SelectedValue='<%#
Bind("Status")%>' DataTextField="Status" Width="100px" Skin="Metro" style="margin-top: 5px; margin-bottom: 5px" DataValueField="Status" DataSourceID="StatusFilter" TabIndex="7" AppendDataBoundItems="True"></telerik:RadComboBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label runat="server" ID="StatusID" Text='<%# Bind("Status")%>'></asp:Label>
</ItemTemplate>
你編輯後再次綁定完成? – Bharadwaj
@Bharadwaj,no。我應該調用TestGrid.Rebind();方法? – CSharpDev4Evr