Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как сделать, чтобы в DBGrid вместо цифр были соответствующие константы

Delphi , Компоненты и Классы , TDBGrid

Как сделать, чтобы в DBGrid вместо цифр были соответствующие константы


Ламер к юзеру пришел, и спросил наш ламер:
"Что такой дисковод, и что такое сканер?"
Юзер голову поднял и ответил ясно:
"Шел бы ты куда подальше, идиот несчастный!"


procedure TForm1.Grid1DrawColumnCell(Sender: TObject; const Rect: TRect;
          DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  // ВАЖНО: имя поля большими буквами!
  if Column.Field.FieldName = 'PLATEZH' then
  begin
    Grid1.Canvas.FillRect(Rect);
    if Column.Field.AsInteger = 0 then
      Grid1.Canvas.TextOut(Rect.Left + 1, Rect.Top + 2, 'наличными')
    else
      Grid1.Canvas.TextOut(Rect.Left + 1, Rect.Top + 2, 'безнал');
  end;
end;

Переписать целочисленные значения в DBGrid соответствующими константами можно создавая набор констант и используя их в коде вместо жесткого кодирования целочисленных значений.

Пример:

const
  PaymentTypeCash  = 0;
  PaymentTypeCreditCard  = 1;

procedure TForm1.Grid1DrawColumnCell(Sender: TObject; const Rect: TRect; 
          DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
    // ВАЖНО: имя поля большими буквами!
  if Column.Field.FieldName = 'PLATEZH' then
  begin
    Grid1.Canvas.FillRect(Rect);
    if DataCol = 0 then  // предполагается, что DataCol - это индекс столбца, который содержит тип платежа
      Grid1.Canvas.TextOut(Rect.Left + 1, Rect.Top + 2, PaymentTypeCash);
    else
      Grid1.Canvas.TextOut(Rect.Left + 1, Rect.Top + 2, PaymentTypeCreditCard);
  end;
end;

В этом примере я создал две константы PaymentTypeCash и PaymentTypeCreditCard. Затем в коде вы можете использовать эти константы для замены целочисленных значений. Это делает ваш код более читаемым и поддерживаемым.

Также обратите внимание, что я использую DataCol вместо Column.Field.AsInteger. Предполагается, что DataCol - это индекс столбца, который содержит тип платежа, поэтому это должно корректно отображать соответствующую константу в grid.

Помните, что вам нужно адаптировать индексы и константы в соответствии с вашим реальным схемой базы данных.

В статье описывается как можно заменить цифры в ячейках DBGrid на соответствующие константы, используя процедуру TForm1.Grid1DrawColumnCell.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TDBGrid ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:33:48/0.0037791728973389/0