Главная страница
    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.45 MB
Время: 0.148 c
2-1352062678
HEND
2012-11-05 00:57
2013.06.09
DBImage Вопрос


15-1359433991
O'ShinW
2013-01-29 08:33
2013.06.09
Безопасность домашнего WiFi


15-1359614914
aka
2013-01-31 10:48
2013.06.09
простенький хостинг для проектов


2-1352141565
Очень Злой
2012-11-05 22:52
2013.06.09
Что означает возвращаемое значение функции GetCursorPos?


15-1359581349
Knight
2013-01-31 01:29
2013.06.09
Arj архив





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский