delphi - 根据数据值对 firemonkey stringgrid 上的单元格背景进行着色

标签 delphi firemonkey

这可能是基本的,但我花了很长时间寻找示例代码来根据 Firemonkey 中数据库中的值更改字符串网格的行颜色。我有来自 MDB 的数据,没有问题,但需要该行具有某些颜色,即“1”=红色“2”=绿色等。我知道我必须以某种方式“OnApplyStyleLookup”访问样式元素?但在什么阶段。我已经看到了有关更改文本样式和颜色等的问题,但我正在为自己挖一个洞,试图进入“背景”元素并应用。任何帮助将不胜感激。 干杯 理查德 ...(Firemonkey 新手)

最佳答案

{OnDrawColumnCell event}

procedure OnDrawColumnCell(Sender: TObject;
  const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF;
  const Row: Integer; const Value: TValue; const State: TGridDrawStates);
var
  RowColor : TBrush;
begin

  RowColor := Tbrush.Create(TBrushKind.Solid,TAlphaColors.Alpha);

{you can check for values and then set the color you want}
  if Value.ToString = 'red' then
     RowColor.Color := TAlphaColors.Red;

  Canvas.FillRect(Bounds, 0, 0, [], 1, RowColor);

  { perform default drawing }
  TGrid(Sender).DefaultDrawColumnCell(Canvas, Column, Bounds, Row,
    Value, State);
end;

关于delphi - 根据数据值对 firemonkey stringgrid 上的单元格背景进行着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12889428/

相关文章:

delphi - TImage、TImageViewer、TImageControl 之间有什么区别?

rest - 为什么 indy 返回不可读的数据但 chrome 加载它正常?

delphi - Delphi XE5 中的 Firemonkey。如何为托盘中的图标创建弹出菜单?

ios - Firemonkey:如何从我的应用程序打开 native IOS map ?

mysql - IDE 中的 SQL 组件连接问题

android - 带有 TWebBrowser 的多 View Android Delphi

delphi - 如何启用虚拟 TreeView 列标题中的复选框?

delphi - 如何维护主从客户端数据集Delphi中的排序顺序?

sql-server - 找不到用于定位的行?

德尔福。使用 idHTTP 显示获取的内容。在多语言 Windows 中获取 Unicode 文本