1 (edited by alex842 2014-11-19 12:37:58)

Topic: Выравнивание столбцов по ширине таблицы

Подскажите, пожалуйста,  как можно сделать так, чтобы столбцы автоматически заполняли всю ширину таблицы? Т.е. чтобы не было горизонтального скрола, а только вертикальный.
Например, у меня есть справочники, которые состоят из одного столбца, хотелось бы, чтобы при открытии формы с такой таблицей, столбец занимал всю ширину. Сейчас делаю это с помощью скрипта: выставляю ширину колонки равной ширине таблицы.
Вообще, в делфи есть параметр, который автоматически выставляет ширину колонок по всей ширине таблицы.
Когда пытался разобраться в делфи, то частенько использовал его в связке с минимальной и максимальной шириной колонки.
Например, задаю для столбца "Номер заказа" минимальную ширину 50, а максимальную 80, для даты - 90 и 120, а для столбца "Примечания" ставлю только минимальное значение 150. И тогда у меня получается, что при размере таблицы 700, колонка с комментариями автоматически занимает б0льшую часть таблицы.

Re: Выравнивание столбцов по ширине таблицы

Достаточно один раз установить размер колонки и он запомниться, у вас не так?
автоматического метода, чтобы это сделать, к сожалению пока нет, но есть нечто похожее.



для TableGrid есть метод, позволяющий задействовать авто подбор ширины колонок, вызывать необходимо в событии OnChange

Form1.TableGrid1.BestFitColumns(); // автоподбор ширины по содержимому ячеек
Form1.TableGrid1.BestFitColumns(bfBoth); // автоподбор ширины по содержимому ячеек и названия колонок
Form1.TableGrid1.BestFitColumns(bfHeader); // автоподбор ширины по названию колонок

данный метод был добавлен в бета версии 1.47
https://www.dropbox.com/s/bhwao1izh5q4y … 7.zip?dl=0

Dmitry.

Re: Выравнивание столбцов по ширине таблицы

добавляю автоподбор ширины колонок через onChange, но ничего не выравнивается. версия 1.47

Re: Выравнивание столбцов по ширине таблицы

разобрался. в скрипт вписываю и все норм)

Re: Выравнивание столбцов по ширине таблицы

А у меня при написании скрипта в событии   OnChange
пишет ошибку (Script error):
Undeclared idintifier: 'BestFitColumns'

Re: Выравнивание столбцов по ширине таблицы

Augsberger
данный метод был добавлен в одной из последних версий, пожалуйста, скачайте последнюю версию 1.47
http://myvisualdatabase.com/download/myvisualdb.exe

Dmitry.

Re: Выравнивание столбцов по ширине таблицы

Form1.TableGrid1.BestFitColumns(); // автоподбор ширины по содержимому ячеек
Form1.TableGrid1.BestFitColumns(bfBoth); // автоподбор ширины по содержимому ячеек и названия колонок
Form1.TableGrid1.BestFitColumns(bfHeader); // автоподбор ширины по названию колонок

Хотел сделать автоподбор ширины конкретного столбца

//Form1.TableGrid1.BestFitColumns[6](bfBoth);

Пишет: Unknown type

Re: Выравнивание столбцов по ширине таблицы

К сожалению нет возможности сделать автоподбор ширины для конкретного столбца, только для всех сразу.

Dmitry.

Re: Выравнивание столбцов по ширине таблицы

А как быть например столбец (дата время) если выбрать  автоподбор ширины по названию колонок, то дата и время будет обрезано а если по содержимому ячеек то например в колонке (комментарий) таблица растянется так что  остальные колонки после неё будут не видны( из-за её содержимого текст вытянется в строку)..поэтому автоподбор по содержимому и названию одновременно также не могу применить...

Re: Выравнивание столбцов по ширине таблицы

Augsberger
Вы можете вручную (мышкой) установить желаемый размер колонок, он запомнится.

Dmitry.