如何在ObjectListView中更改单元格的背景颜色?在CellEditFinishing事件被触发后?我正在看事件args,我不知道如何访问一个单元格来改变它的背景。
是的,这听起来像一个微不足道的问题......但这不是在OLV文档,论坛,堆栈溢出等中记录的地方......甚至没有一个例子:/演示中的示例只是取消了CellEditFinishing事件。
答案 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。