DELPHI DBGRID ПЕРЕНОС СТРОКИ
В Delphi есть компонент DBGrid, который позволяет отображать данные из базы данных в виде таблицы. Однако, иногда данные в ячейках таблицы могут быть слишком длинными и не умещаться на одной строке. В этом случае возникает необходимость в переносе строки в ячейках таблицы.
Перенос строки в DBGrid можно осуществить с помощью свойства WordWrap. Если установить его значение в True, то текст в ячейках будет переноситься на новую строку, когда он достигнет конца отображаемой области.
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); //рисуем ячейку таблицыbegin DBGrid1.Canvas.FillRect(Rect); DBGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, Column.Field.AsString);end;procedure TForm1.FormCreate(Sender: TObject);begin DBGrid1.DefaultDrawing := False; //отключаем стандартное отрисовку ячеекend;procedure TForm1.DBGrid1GetCellProps(Sender: TObject; Field: TField; AFont: TFont; var Background: TColor);begin if Field.AsString <> '' then AFont.Color := clBlack;end;procedure TForm1.DBGrid1MeasureCell(Sender: TObject; ACol, ARow: Integer; var Width, Height: Integer);begin if DBGrid1.Columns[ACol].Field.AsString <> '' then begin DBGrid1.Canvas.Font.Assign(DBGrid1.Font); //назначаем шрифт Height := DBGrid1.Canvas.TextHeight('A'); //вычисляем высоту ячейки end;end;
В данном коде используются несколько событий DBGrid:
- OnDrawColumnCell - отрисовка ячеек таблицы
- OnGetCellProps - получение свойств ячейки
- OnMeasureCell - вычисление размеров ячейки
Таким образом, с помощью свойства WordWrap и соответствующих событий можно реализовать перенос строки в ячейках таблицы DBGrid.
Обзор Autocom CDP и Delphi DS5150e одноплатные и двухплатные
DELPHI Урок 6 Связи между таблицами (ADOQuery)
DELPHI Урок 3 Создание БД, добавление, удаление, изменение записей
(Создание БД) 8. Фильтрация записей в базе данных Delphi
DELPHI Урок № 19 CheckBox, Фильтрация и Поиск.
DELPHI Урок № 21 Выпадающий список в DBGrid (PickList)
Урок на делфи 79 Экспорт в Word
Настройка DBGrid в Delphi
Программирование в Delphi Урок 3 2 Работа с текстом, строковые функции Length, Pos и другие
How to implement a DBCheckbox in DBGrid in Delphi!