Topic: А есть возможно авто размера строки?

Хотелось бы в Grid авто перенос по словам и автоматическим расширением по содержимому.

Re: А есть возможно авто размера строки?

автоматическое увеличение высоты ячейки по содержимому


procedure ***_onChange;
var
  i:integer;
begin
  for i := 0 to Grid.RowCount - 1 do
    Grid.BestFitRow(i);
end;
Визуальное программирование: блог и телеграм-канал.

3 (edited by vit007 2021-03-07 11:40:35)

Re: А есть возможно авто размера строки?

У меня не получилось... Наверно из-за того что у меня идет через sql запрос. может можно туда встроить?

SELECT
client.name
,client.tel
,client.text 
,client.gText   
,client.id

FROM
client 
                  
WHERE  

(CASE WHEN '{sqlEdit1}' = '' THEN 1=1 ELSE client.name LIKE '{sqlEdit1}%' END) OR         
(CASE WHEN '{sqlEdit1}' = '' THEN 1=1 ELSE client.tel LIKE '{sqlEdit1}%' END) OR  
(CASE WHEN '{sqlEdit1}' = '' THEN 1=1 ELSE client.text LIKE '{sqlEdit1}%' END) OR
(CASE WHEN '{sqlEdit1}' = '' THEN 1=1 ELSE client.gText  LIKE '{sqlEdit1}%' END)  

Re: А есть возможно авто размера строки?

Помог более сложный вариант

procedure frmClient_TableGrid1_OnChange (Sender: TObject);
var
    i, c: integer;
begin

    c := frmClient.TableGrid1.Columns.Count - 1;
    for i := 0 to c do
    begin
        frmClient.TableGrid1.Columns[i].VerticalAlignment := taAlignTop;
        frmClient.TableGrid1.Columns[i].WrapKind := wkWordWrap;
    end;

    c := frmClient.TableGrid1.RowCount - 1;
    for i := 0 to c do frmClient.TableGrid1.BestFitRow(i);
end;