0

我有 DBCross 表包含字符串和整数数据
我想通过特定条件更改行的颜色。

4

2 回答 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 回答