Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Особенности TdbGrid


Автор: DenisTv 8.4.2011, 10:39
Доброго времени суток!

Реализую алгоритм сохранения размера столбцов tDBGrid в файл(ini).
Сохраняю значения table.Fields[i].FieldName и table.Fields[i].DisplayWidth.

При восстановлении возвращаю эти значения соответствующим таблицам. И всё было хорошо, пока я не передвинул ползунок ширины столбца мышкой. Таблица отказалась восстанавливать размеры, т.к. значения помещаю в  table.Fields[i].DisplayWidth, а мышкой изменил dbGrid.Column[i].Width.

Как я понимаю есть три способа передать сетке длину столбца:
1. table.Fields[i].DisplayWidth;
2. dbGrid.Fields[i].DisplayWidth;
3. dbGrid.Column[i].WIdth;

Вопросы:
1. В чем отличие этих способов передачи?
2. Почему значение Column всегда больше Fields?
3. Кто как реализовывал подобное? (может не там копаю  smile )

Автор: Frees 8.4.2011, 10:42
Цитата(DenisTv @  8.4.2011,  13:39 Найти цитируемый пост)
Реализую алгоритм сохранения размера столбцов tDBGrid в файл(ini).

дак и сохраняй
dbGrid.Column[i].Width для dbGrid.Column[i].FieldName 
а не 
Цитата(DenisTv @  8.4.2011,  13:39 Найти цитируемый пост)
table.Fields[i].FieldName и table.Fields[i].DisplayWidth.


Добавлено через 4 минуты и 52 секунды
Цитата(DenisTv @  8.4.2011,  13:39 Найти цитируемый пост)
1. table.Fields[i].DisplayWidth;2. dbGrid.Fields[i].DisplayWidth;

это одно и тоже сслка на поле только из разных мест
это ширина в символах




Цитата(DenisTv @  8.4.2011,  13:39 Найти цитируемый пост)
dbGrid.Column[i].WIdth;

текущая ширина колонки, в пикселях

Автор: Данкинг 8.4.2011, 10:59
Цитата(DenisTv @  8.4.2011,  11:39 Найти цитируемый пост)
 Кто как реализовывал подобное?

Вот так и реализовывал, сохраняя ширину в реестр:
Цитата(DenisTv @  8.4.2011,  11:39 Найти цитируемый пост)
dbGrid.Column[i].WIdth


Автор: DenisTv 13.4.2011, 13:00
Спасибо. Сделал.

Еще вопрос на засыпку: как сделать авторазмер столбцов dbGrid? Чтобы они пропорционально занимали всю область dbGrid-а. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)