Форум: "Базы";
Текущий архив: 2002.01.31;
Скачать: [xml.tar.bz2];
ВнизTDBGrid и Ширина столбца. Все что мне посоветовали это здорово но как реально это сделать... Найти похожие ветки
← →
777 (2001-12-26 03:03) [0]Есть компонент TDBGrid и хотел чтобы Ширина столбца должна соответствовать максимальной длине строки в отображаемой части набора данных, другими словами я хочу чтобы размер колонок соответствовал максимальному размеру текста в колонке.
Вот то, до чего я дошел...
procedure TForm3.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
Var i, MaxW: integer;
begin
MaxW := 0;
{По моему где то здесь собака порылась}
with DBGrid1.DataSource.DataSet do
for i := 0 to FieldCount - 1 do
if visible then begin
if MaxW < Length(Column.Field.AsString)*DBGrid1.Font.Size then
MaxW := Length(Column.Field.AsString)*DBGrid1.Font.Size;
end;
{Здесь сравнение найденого? максимума и ширины колонки
можно конечно и defaultwidth написать но не в это дело}
if Length(Column.Field.AsString)*DBGrid1.Font.Size > Length(Trim(Column.Title.Caption))*DBGrid1.Font.Size then
Column.Width := MaxW
else
Column.Width := Length(Trim(Column.Title.Caption))*DBGrid1.Font.Size;
dbgrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
// Panel1.Refresh;
end;
Вот. С начала все идет окей, но когда при прокрутке грида появляется строка больше или меньше...тут все и начинает дергаться...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.01.31;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c