如何在InitNewRecord事件处理程序

时间:2015-12-02 21:15:37

标签: devexpress

调用VerticalGrid的 AddNewRecord 方法时,InitNewRecord事件会触发。在那个事件处理程序中,您将如何设置正在添加的新记录的背景颜色?垂直网格处于MultiRecord模式。

1 个答案:

答案 0 :(得分:1)

使用RecordCellStyle事件为新添加的行着色。在InitNewRecord事件中,您可以获取新的行索引并将其存储在新行列表中。然后在RecordCellStyle事件中,检查是否为新行引发了事件,并为该行提供了所需的外观。

List<object> newRows = new List<object>();
private void vGridControl1_InitNewRecord(object sender, DevExpress.XtraVerticalGrid.Events.RecordIndexEventArgs e) {
    VGridControl grid = (VGridControl)sender;
    object item = grid.GetRecordObject(e.RecordIndex);
    newRows.Add(item);
    BeginInvoke(new MethodInvoker(() => { grid.UpdateFocusedRecord(); }));
}

private void vGridControl1_RecordCellStyle(object sender, DevExpress.XtraVerticalGrid.Events.GetCustomRowCellStyleEventArgs e) {
    VGridControl grid = (VGridControl)sender;
    if(newRows.Contains(grid.GetRecordObject(e.RecordIndex)))
        e.Appearance.BackColor = Color.Red;
}