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