【问题标题】:delphi - coloring cxdbgrid field depending on its contentdelphi - 根据内容为 cxdbgrid 字段着色
【发布时间】:2013-11-25 01:26:10
【问题描述】:

我不知道该怎么说。我正在根据值为 cxDB 网格字段着色:

procedure TForm1.cxGrid1DBTableView1StylesGetContentStyle(
  Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
  AItem: TcxCustomGridTableItem; var AStyle: TcxStyle);
  var  AColumn: TcxCustomGridTableItem;
begin
AColumn := (Sender as TcxGridDBTableView).GetColumnByFieldName('SIFRA');
 if VarToStr(ARecord.Values[AColumn.Index]) =  '007 01' then
      AStyle := cxstyle1; 
end;

我想更改代码,以便列中包含 007 的所有字段都被着色。

【问题讨论】:

  • 好的,最好使用if StartsText('007', VarToStr(ARecord.Values[AColumn.Index])) then
  • 您的版本为我的所有字段着色。我只想要选定的“sifra”
  • @TLama - 这是你的电话,但确实第一条评论已经回答了这个问题(我的意思是通配符)。
  • 用户 - 你可以像@TLama这样的评论员(注意@和正确使用帐户名),然后评论员会收到通知。
  • @TLama - 请发布答案,,,T

标签: delphi devexpress delphi-xe4 tcxgrid


【解决方案1】:

根据 cmets,您正在寻找如何编写语句来确定某个文本是否以指定字符串开头的方法。为此,您可以使用例如StartsText 函数 (System.StrUtils)。如果当前单元格文本以 007 开头,则以下语句将评估为 True:

if StartsText('007', VarToStr(ARecord.Values[AColumn.Index])) then

【讨论】:

    猜你喜欢
    • 2014-10-22
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 2018-02-04
    • 1970-01-01
    • 2013-04-09
    相关资源
    最近更新 更多