delphi - раскраска поля cxdbgrid в зависимости от его содержимого

Я не совсем уверен, как это выразить. Я крашу поле сетки 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 в столбце, были окрашены.

1 ответ

Решение

Согласно комментариям, вы искали способ, как написать оператор, чтобы определить, начинается ли определенный текст с указанной строки. Для этого вы можете использовать, например, StartsText функция (System.StrUtils). Следующее утверждение будет иметь значение True, если текущий текст ячейки начинается с 007:

if StartsText('007', VarToStr(ARecord.Values[AColumn.Index])) then
Другие вопросы по тегам