我有一个 40 列的 devexpress xtragrid。我将每个单元格值与其他值进行比较,如果不同,则我想更改单元格背景颜色。我尝试使用 GridViewInfo,但它只使用屏幕上可见的列。但我想为所有列做。(不使用 RowCellStyle)你有解决方案吗?谢谢!
问问题
33183 次
3 回答
6
您需要处理您的 GridView 的CustomDrawCell,这里是根据其他列 valoe(年龄列)更改名称列颜色的代码片段
private void gridView_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e)
{
if (e.Column == colName)
{
var age = Convert.ToInt32(gridView.GetRowCellValue(e.RowHandle, colAge));
if (age < 18)
e.Appearance.BackColor = Color.FromArgb(0xFE, 0xDF, 0x98);
else
e.Appearance.BackColor = Color.FromArgb(0xD2, 0xFD, 0x91);
}
}
祝你好运
于 2012-07-01T14:26:09.050 回答
4
挂钩到 xtragrid 的 RowStyle 事件。
private void maintainDataControl_RowStyle(object sender, RowStyleEventArgs e)
{
if (e.RowHandle >= 0)
{
GridView view = sender as GridView;
// Some condition
if((string)view.GetRowCellValue(
e.RowHandle, view.Columns["SomeRow"]).Equals("Some Value"))
{
e.Appearance.BackColor = Color.Green;
}
}
}
于 2012-06-29T13:53:09.587 回答
2
您是否尝试过 Xtragrid 格式条件?
于 2012-08-22T09:08:53.223 回答