Главная страница
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.014 c
6-91015
Victoz
2002-01-16 12:12
2002.03.28
Как узнать название сети?


3-90738
aleks2000
2002-02-24 12:48
2002.03.28
<B>Как открыть ДОС базу данных dBase III в Делфи, так чтобы было написано на нормальном русском</B>


1-90942
bos
2002-03-13 12:19
2002.03.28
Верхняя форма


4-91098
Руслан_
2002-01-27 09:57
2002.03.28
WIN32 API


1-90841
Alex_LG
2002-03-16 17:36
2002.03.28
Где взять исходники модулей Forms, WinSock, Windows.... и др.?