Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.28;
Скачать: CL | DM;

Вниз

КРИЗИС ЖАНРА или Настройка ширины колонок подчиненной таблицы   Найти похожие ветки 

 
Alexander Vasjuk   (2002-02-25 16:47) [0]

Братья и Сестры!

При попытке сохранить/восстановить измененную пользователем ширину колонок грида столкнулся с чудесным свойством грида подчиненной таблицы (или запроса) при скроллинге грида главной таблицы восстанавливать стандартную ширину (зависящую от типов полей). Причем неважно, каким образом связаны таблицы (SlaveDataSet.DataSource := MasterDataSource или MasterDataSource.OnDataChange := MasterDataSourceDataChange...), в любом случае подчиненный набор переоткрывается, и как следствие, переинициализируются колонки грида.
В статическом случае можно задать колонки на этапе разработки и без проблем менять/сохранять/устанавливать их ширину. Но как быть, если запрос формируеся во время выполнения программы?


 
Igor_ ©   (2002-02-26 09:30) [1]

Устанавливай ширину колонок во время выполнения программы.

DBGr.Columns[i].Title.Caption:="


 
Alexander Vasjuk   (2002-02-26 12:04) [2]

Про это и речь идет. (правда про FieldName это ты загнул)
В одиночной или главной таблице(запросе) это катит. А подчиненная при своем переоткрытии (при скроллинге главной) начисто переинициализирует грид. Какие будут еще соображения у продвинутой общественности?


 
Igor_ ©   (2002-02-26 12:29) [3]

Может заново добавить все колонки в DBGrid ?
DBGr.Columns.Clear;
DBGr.Columns.Add;
и т.д. ..


 
Alexander Vasjuk   (2002-02-26 12:40) [4]

DBGr.Columns.RebuildColumns;
Помогло!


 
kserg@ukr.net   (2002-02-26 17:36) [5]

> Alexander Vasjuk
Уважаемый, поделись опытом, как ты восстанавливаешь колонки GRIDa (точнее их порядок), если юзер изменил их порядок следования?


 
Alexander Vasjuk   (2002-02-27 14:31) [6]

Пока что я восстанавливаю только ширину и заголовки.

Есть у TColumns методы SaveToFile и LoadFromFile.
Попробуй. (Я не пробовал, у меня динамические запросы)


 
Reindeer Moss Eater   (2002-02-27 16:57) [7]

Перед закрытием датасета: цикл по колонкам грида и запись в ини или реестр индекс колонки = имя поля колонки грида
после открытия датасета: чтение сохраненных значений и изменение свойста Index у TField"ов


 
kserg@ukr.net   (2002-02-28 10:55) [8]

>Reindeer Moss Eater
Уважаемый, я правильно понял индекс колонки определяет её визуальный порядок в GRIde?
А если колонка не видима, то её индекс???


 
alexandervasjuk ©   (2002-02-28 11:01) [9]

а какая тогда разница?

я так понял, основная фишка - назначать индекса от меньших к большим


 
Reindeer Moss Eater   (2002-02-28 11:05) [10]

Не менее уважаемый kserg
Мой пример не требует статических колонок грида, поэтому у меня нет невидимых колонок в гриде.

>alexahdervasjuk
совершенно верно :)


 
alexandervasjuk ©   (2002-02-28 11:48) [11]

kserg@ukr.net,
видимость колонок инвариантна их положению.
при Visible := False их Index и Columns.Count не меняются.



Страницы: 1 вся ветка

Текущий архив: 2002.03.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
4-91116
five
2002-01-28 15:39
2002.03.28
как программно узнать - включен или выключен сейчас ActiveDesktop ?


14-91043
Prog_SKV@Mail.ru
2002-02-13 08:35
2002.03.28
Help !!!


1-90836
lipskiy
2002-03-15 15:23
2002.03.28
TWebBrowser: как программно подсунуть ему ссылку на выполнение кода в самой программе?


1-90928
Michael C
2002-03-11 17:13
2002.03.28
Массивы и IP


1-90982
anod
2002-03-14 14:00
2002.03.28
Отображение файлов FileListBox