DevExpress предоставляет события RowStyle
и RowCellStyle
для своих GridView
.
В каждом случае вы можете проверить состояние текущей строки или ячейки в стиле и изменить ее внешний вид на основе данных внутри строки.
Вы можете добавить скрытое поле bool в таблицу, которая отслеживает строки LastChanged. Прежде чем сканировать новый штрих-код, вы можете просто установить для этого поля значение false для всех строк и установить его в true только для строк, размер которых изменился.
Затем вы можете использовать один из следующих обработчиков событий для стиля строки или ячейки на основе данных:
private void gridView_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
{
if (e.RowHandle < 0) return;
GridView view = sender as GridView;
DataRowView rowView = (DataRowView) view.GetRow(e.RowHandle);
if ((bool)rowView["LastChanged"])
e.Appearance.BackColor = Color.Yellow;
else
e.Appearance.BackColor = Color.White;
}
Или, если вы только хотели, чтобы окрасить Amount клетку.
private void gridView_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
{
if (e.RowHandle < 0) return;
if (e.Column.Name != "Amount") return;
DataRowView rowView = (DataRowView)(((GridView)sender).GetRow(e.RowHandle));
if ((bool)rowView["LastChanged"])
e.Appearance.BackColor = Color.Yellow;
else
e.Appearance.BackColor = Color.White;
}
У вас есть некоторый код для обмена, поэтому мы знаем, как внешний вид сетки и текстовое поле как? Что вы пробовали? – kloarubeek