Настройка размеров колонок в DBGrid

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Freeman8901
Сообщения: 18
Зарегистрирован: 11 апр 2005, 14:46
Откуда: Драхелас

Есть вопрос: почему когда я произвожу визуальную настройку колонок в DBGrid, то эта настройка и при запуске проэкта и при его сохранении все эти настройки не сохраняются :?: :? :( :o ops:
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Потому, что ни один контрол не сохраняет свои визуальные настройки. Почему? Всё очень просто, ведь некий элемент управления может использоваться сотнями приложений. Настройки какого из этих ста приложений нужно тогда загружать при очередной инициализации контрола? Вобщем я к чему пытаюсь привести вас, Freeman8901? К тому, чтои менно программа должна заботиться о сохрании любых своих настроек, а не контролы, которые она контейниризирует!
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

это в дизайнере? или в запущенной программе?
Поподоробнее, плиз - что такое "визуальная настройка колонок" обо что конкретно речь?
Изображение
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Извиняюсь заранее, если мой комент оказался некстати. Естественно ответ действителен для того случая, когда человек запустил программу, изменил, например, ширину колонок, закрыл её и ожидает, что при очередном запуске ширина колонок окажется такой же, как перед закрытием приложения.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Freeman8901
Сообщения: 18
Зарегистрирован: 11 апр 2005, 14:46
Откуда: Драхелас

Я делаю настройки колонок в дизайнере Form1-DBGrid1-Columns-XXX-Width, Title.caption, Title.alignment и при запуске это не сохраняется :( :( :?: :?: :?:
RoKon
Сообщения: 82
Зарегистрирован: 27 мар 2005, 12:24
Откуда: Saransk City
Контактная информация:

Странно, вообщето должно сохраняться. Попробуй рассмотреть такую концепцию поведения размеров ширины колонок грида (да и не только их). Т.е. при изменении размеров формы, ты автоматически в Form.OnResize изменяешь размеры всех контролов, например в процентном соотношении...
The trurh is out there...
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

сейчас не могу проверить... а DBGrid случайно при запуске не выставляет ширину колонок в зависимости от размера поля к которому привязана колонка? Caption он точно с поля берёт и менять его надо именно у поля. Alignment должен сохранять... вроде...
Изображение
Freeman8901
Сообщения: 18
Зарегистрирован: 11 апр 2005, 14:46
Откуда: Драхелас

Игорь Акопян, иногда эта сволочь все-таки запоминает настроку колонок, что-то с трудом

RoKon, а как можно изменить параметры колоно грида при активации формы?
RoKon
Сообщения: 82
Зарегистрирован: 27 мар 2005, 12:24
Откуда: Saransk City
Контактная информация:

Доступ как к обычным свойствам любого компонента.
Обрабатываешь событие формы OnShow (форма стала видимой, т.е. Visible стало true) или OnActivate (форма получила фокус, стала активной)

Код: Выделить всё

 DBGrid1.Columns[0].Alignment:=taCenter;
 DBGrid1.Columns[0].Width:=Round(DBGrid1.Width*0.5);//50% к примеру от ширины грида
The trurh is out there...
Freeman8901
Сообщения: 18
Зарегистрирован: 11 апр 2005, 14:46
Откуда: Драхелас

RoKon, пробовал такое не пашет это у меня
Ответить