我有 DBCross 表包含字符串和整数数据
我想通过特定条件更改行的颜色。
2410 次
2 回答
4
您可以使用 DBCross 组件的 PrintCell 事件,并检查值
procedure DBCross1OnPrintCell(Memo: TfrxMemoView; RowIndex, ColumnIndex, CellIndex: Integer; RowValues, ColumnValues, Value: Variant);
begin
if value < 1000 then
Memo.Color := clRed
end;
如您所见,Memo 只是 TfrxMemoView,因此您可以更改 TfrxMemoView 的任何属性,例如字体、样式和颜色。
于 2011-08-14T12:43:23.650 回答
0
如果您只需要根据特定条件更改单元格的字体外观和/或背景颜色,则可以使用更简单的高亮功能选项。它位于带有“ab”和高亮笔的快速图标的第二行。您可以指定条件以及您希望该单元格更改为的外观和背景颜色。
但是对于像多个条件等更复杂的操作,Mohammed 的答案将是处理它们的最可靠的方法。
要根据 1 个值更改整行,您有 2 个使用 Mohammed 代码的选项:
1. 更改
if value < 1000 then
到
if <DataSet."FieldName"> < 1000 then
然后将事件分配给该行的每个单元格的 BeforePrint。
2. 更改
Memo.Color := red
到
begin
Cell1Memo.Color := clRed;
Cell2Memo.Color := clRed,
...
end;
于 2011-08-15T00:41:20.253 回答