2015-05-22 3 views
0

Я использовал сетку в образцах Telerik для WinUI C: \ Program Files (x86) \ Telerik \ UI для WinForms Q1 2015 \ Примеры \ QuickStart \ GridView \ Rows \ AddNewRow \ Form1.cs и добавил следующий код, чтобы получить UnitPrice в синий шрифт:Telerik WinUI GridView использует прокрутку для неправильной ячейки, если прокручивается

public Form1() 
    { 
     ... 
     this.radGridView1.CellFormatting += new CellFormattingEventHandler(radGridView1_CellFormatting); 
    } 

     void radGridView1_CellFormatting(object sender, CellFormattingEventArgs e) 
    { 
     GridDataCellElement dataCell = e.CellElement as GridDataCellElement; 
     if (dataCell != null) 
     { 
      if (dataCell.ColumnInfo.Name.ToLower() == "unitprice") 
      { 
       dataCell.ForeColor = System.Drawing.Color.Blue; 
       dataCell.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 0); 
      } 
     } 
    } 

Это работает, когда форма получить первый загружен:

enter image description here

Если я вертикально прокручивать форму некоторые другие столбцы тоже становятся голубыми. Что-то я могу с этим поделать?

enter image description here

ответ

1

Настройка должны быть сброшены для других столбцов

if (dataCell.ColumnInfo.Name.ToLower() == "unitprice") 
     { 
      dataCell.ForeColor = System.Drawing.Color.Blue; 
      dataCell.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 0); 
     } 

else 
{ 
e.CellElement.ResetValue(LightVisualElement.ForeColorProperty, ValueResetFlags.Local); 
} 
0

Попробуйте это в Cell Форматирование, изменил if состояние

void radGridView1_CellFormatting(object sender, CellFormattingEventArgs e) 
 
{ 
 
    if (e.CellElement.ColumnInfo.Name == "unitprice") 
 
    { 
 
    dataCell.ForeColor = System.Drawing.Color.Blue; 
 
    dataCell.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 0); 
 
    } 
 
}

+0

это не решило проблему –

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

  • Нет связанных вопросов^_^