将网格行重新着色为默认值

时间:2014-07-28 12:19:11

标签: c# visual-studio grid devexpress

我有这个代码将Devexpress网格中的某些行设置为定义的颜色(例如Color.Red)。但是,在将行颜色设置为红色之前,我需要将背景颜色重置为默认值(Color.White)。

场景:我已将行13设置为red,然后我更改了表单中的选项,现在只更改行3和{{ 1}}应为4,因此我需要将行red1重置为3

white

1 个答案:

答案 0 :(得分:1)

你不应该直接重置任何颜色,因为XtaGrid会在绘画时自行更新 - 只需根据某些特定条件指定行颜色:

void gvVehicle_RowStyle(object sender, RowStyleEventArgs e) {
    Vehicle v = gvVehicle.GetRow(e.RowHandle) as Vehicle;
    if(v != null){
        if(highlightEvenRowCondition) {
            if(v.VehicleData.VehicleID % 2 == 0)
                e.Appearance.BackColor = Color.Red;
        }
        else {
            if(v.VehicleData.VehicleID % 2 != 0)
                e.Appearance.BackColor = Color.Red;
        }
        e.HighPriority = true;
    }
}
bool highlightEvenRowCondition;
void buttonChangeHighlightCondition_Click(object sender, EventArgs e) {
    highlightEvenRowCondition = !highlightEvenRowCondition;
    gvVehicle.RefreshData();
}