2012-12-31 4 views
4

У меня есть простой RadGridView, в котором я хочу изменить цвет текста для определенной строки (= 3 ячейки). К сожалению, этот код не работает:RadGridView изменить цвет текста

//add new row to the grid 
EventLogGrid.Items.Add(new EventLogRow(eventType, occured, msg)); 

//change the color of the text of all cells if it's an exception 
if (eventType == EventLogger.EventType.Exception) 
{ 
    var rows = this.EventLogGrid.ChildrenOfType<GridViewRow>(); 
    rows.Last().Foreground = new SolidColorBrush(Colors.Yellow); 
} 

Любой вход будет оценен.

+0

Что такое среднее "не работает"? Какая ошибка? Будьте более интересны. –

+0

Вы посмотрели документацию на сайте Telerik ..? у них есть тонна рабочих примеров – MethodMan

+0

@Soner Gönül: нет ошибки, она просто не меняет цвет текста. – Mike

ответ

4

Там на самом деле очень простое решение:

  1. Приложить обработчик события:

    EventLogGrid.RowLoaded += EventLogGrid_RowLoaded; 
    
  2. изменить цвет строки:

    if (((EventLogRow)e.DataElement).MsgType == EventLogger.EventType.Exception) 
    { 
        e.Row.Foreground = new SolidColorBrush(Colors.Red); 
    } 
    
1

Try что-то вроде этого также сайта Telerik имеет массу удивительных примеров Telerik Radgrid Overview

protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) 
{ 
    //Check if the Item is a GridDataItem 
    if (e.Item is GridDataItem) 
    { 
     GridDataItem dataBoundItem = e.Item as GridDataItem; 

     if (int.Parse(dataBoundItem["yourColounName"].Text) == "Date") 
     { 
      dataBoundItem["yourColounName"].ForeColor = Color.Red; 
      dataBoundItem["yourColounName"].Font.Bold = true; 
     } 
    } 
} 

или это может работать для вас, я проверил это и работает убедитесь, чтобы заменить имя Колонны с колонной имя, если вы дадите мне имя столбца, так как у вас есть 3 колонки я должен был бы имя кулак Column .. надеюсь, что это имеет смысл для вас

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) 
{ 
    if (e.Item is GridDataItem) 
    { 
     GridDataItem item = (GridDataItem)e.Item; 
     TableCell cell = (TableCell)item["YourColumnName"]; 
     cell.BackColor = System.Drawing.Color.Yellow; 
    } 
} 
+0

ОК, я проверил этот код, и он не работает. Кажется, что вы используете веб-библиотеку Telerik, но я использую библиотеку Telerik WPF, которая, кажется, отличается. Спасибо, в любом случае. – Mike

+0

У меня есть тот же самый lib Я исправлю свой ответ и дам вам рабочее решение – MethodMan

+0

Как зовут ваш первый столбец в RadGrid .. тогда я смогу опубликовать пример того, что вы должны делать .. спасибо – MethodMan

Смежные вопросы