如何在ObjectListView中更改单元格的背景颜色?

时间:2017-01-29 12:25:22

标签: objectlistview

如何在ObjectListView中更改单元格的背景颜色?在CellEditFinishing事件被触发后?我正在看事件args,我不知道如何访问一个单元格来改变它的背景。

是的,这听起来像一个微不足道的问题......但这不是在OLV文档,论坛,堆栈溢出等中记录的地方......甚至没有一个例子:/演示中的示例只是取消了CellEditFinishing事件。

1 个答案:

答案 0 :(得分:0)

你不能从CellEditFinishing中做到这一点,但是你可以在FormatCell事件中加入一些逻辑,它可以根据内容改变背景颜色(这可能是你在细胞编辑后想要的)。

我用这种方式用它来表示不同前景色的各种值范围。

查看官方文档here中的示例。实际上,我发现很好地记录了OLV;)

private void olv1_FormatCell(object sender, FormatCellEventArgs e) {
    if (e.ColumnIndex == this.creditBalanceColumn.Index) {
        Customer customer = (Customer)e.Model;
        if (customer.Credit < 0)
            e.SubItem.ForeColor = Color.Red;
    }
}

请注意,您必须将UseCellFormatEvents属性设置为true。