У меня есть столбец с различным статусом, который меняет цвет в зависимости от буквы.Событие OnDatabound в Gridview не работает над Редактированием
Например, если буква «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;
}
}
}
Update Теперь, когда я иду, чтобы изменить запись некоторые записи не позволяют мне обновить их.
<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