Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2013.06.09;
Скачать: [xml.tar.bz2];

Вниз

Есть ли возможность автоматически грузить описания полей?   Найти похожие ветки 

 
TheEd   (2010-11-19 01:34) [0]

Господа мастера, можно ли в fIBPlus компонентах (fIBDataSet) автоматически грузить описания полей в DisplayLabel?
Когда-то мне подсказывали простое решение - убей, не помню :(  

Вариант ручного получения типа

select RDB$DESCRIPTION from RDB$RELATION_FIELDS
where (RDB$RELATION_NAME = "MyTable")
and
(RDB$FIELD_NAME = "MyField")

ясен, но если таблиц много, то в цикле перебирая все fIBDataSet"ы, нужно получать имя исходных таблиц. Парсить SelectSQL для этого? а Если join из нескольких таблиц... В общем огород нагородить можно...


 
makz   (2010-11-19 08:55) [1]

FIB умеет создавать табличку FIB$FIELDS_INFO, откуда берет DisplayLabel. Туда и переливайте.


 
TheEd   (2010-11-20 01:15) [2]

Ок, стал использовать. Но чисто ради эксперимента стал писать описания полей не в FIB$FIELDS_INFO напрямую, а читать их в из описания полей в таблицу FIB$FIELDS_INFO с тем, что бы фактически иметь в качестве DisplayLabel - описание поля (RDB$DESCRIPTION).
Но при старте DisplayLabel устанавливаются в соответствии с текущим содержимым FIB$FIELDS_INFO, когда в FIB$FIELDS_INFO вычитываются значениея из RDB$DESCRIPTION, DisplayLabel уже не меняется.
Получается что праильный DisplayLabel у поля я вижу только при следующем запуске приложения...
Как принудительно перегрузить описания полей из репозитория?

Да, и ещё пара моментов:
1. Автоматически не сохраняется значение Display_Width при изменении ширины колонок - это вообще предусмотрено, или только то что прописано Display_Width - такая ширина при старте и будет?
2. При создании Column"ов в DBGrid"е свойство Visible из репозитория игнорируются?


 
makz   (2010-11-20 08:18) [3]

Уточните задачу, там что, динамическое добавление полей происходит? Почему нельзя 1 раз загрузить дескрипторы в FIB$FIELDS_INFO, пусть даже хранимую процедуру для этого написать?

1. "изменение ширины колонок" это где, в DBGrid? Он никакой обратной связи с FIB$FIELDS_INFO не имеет, пишите ручками, коли надо.
2. Visible в FIB$FIELDS_INFO= Visible в Fields Editor датасета, если там поля не добавлять, то не факт, что другие компоненты будут понимать.


 
TheEd   (2010-11-20 13:49) [4]


> Уточните задачу

да, в общем то тут дело принципа... Задачу я решу, вбив описания полей даже прямо в FIB$FIELDS_INFO, и без лишнего кода. Просто создавая структуру БД в IBExpert позабивал описания полей, и возникла мысль, что было бы недурно их напрямую в шапки таблиц втиснуть. Натура дурная - потратив времени в 10 раз больше, чем если бы переписал описания полей ручками в FIB$FIELDS_INFO :)

> никакой обратной связи с FIB$FIELDS_INFO

ясно. В принципе я в ини-файл ширины скидывал, чтобы у каждого юзверя свои настройки были. Смысл хранить их в  FIB$FIELDS_INFO пропадает...

> если там поля не добавлять, то не факт

нет, всё ок, если только не добавлять колонки в гриды.



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

Форум: "Базы";
Текущий архив: 2013.06.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
15-1359636718
Студент
2013-01-31 16:51
2013.06.09
Порекомендуйте книжки.


8-1232018638
KiLLiR
2009-01-15 14:23
2013.06.09
Что делать, если изображение больше отведенной для него области?


3-1290119666
TheEd
2010-11-19 01:34
2013.06.09
Есть ли возможность автоматически грузить описания полей?


15-1359801615
Киноман
2013-02-02 14:40
2013.06.09
Вспомнить фильм


15-1359840605
Юрий
2013-02-03 01:30
2013.06.09
С днем рождения ! 3 февраля 2013 воскресенье





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский