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

Вниз

зависимые ListSource для Lookup компонент. как лучше ? (+)   Найти похожие ветки 

 
ari_9   (2007-08-14 14:33) [0]

использую QuantumGrid, но это несущественно

пример. на форме таблица (cxGrid), допустим, документов. для каждого из которых может быть выбран отдел и сотрудник. при этом справочник сотрудников ссылается на отделы и при выборе сотрудника, естественно, должны быть отображены только сотрудники отдела

имеем три источника данных, пусть Projects, Departments и Managers. Departments и Managers - наши справочники. для того, чтобы выбрать в списке можно было только менеджера текущего отдела, нужно по AfterScroll и AfterEdit Projects переформировывать Managers, подставляя туда в качестве параметра текущий DepartmentID

вопрос в чем. у нас одновременно в таблице видно много проектов. и для каждого из них в cxDBLookupCombobox отображается выбранный сотрудник. значит ListSource этого комобокса не может быть Managers, так как он в любой момент времени содержит только сотрудников отдела из текущей строки Projects

как красиво поступать в таком случае ? делать два справочника Managers, один из которых по всей таблице, а второй по текущему DepartmentID и в момент начала редактирования подменять компоненту ListSource ? отказываться от DB компонента и ставить туда просто cxLookupCombobox, вручную формируя его список по AfterScroll и AfterEdit ? переписать onDrawCell ?


 
ari_9   (2007-08-14 14:42) [1]

немного заговорился
вместо cxDBLookupCombobox следует читать cxLookupCombobox,
а вместо cxLookupCombobox просто cxCombobox


 
Sergey13 ©   (2007-08-14 14:59) [2]

> [0] ari_9   (14.08.07 14:33)

> документов. для каждого из которых может быть выбран отдел и сотрудник
> при этом справочник сотрудников ссылается на отделы
Какой тогда смысл вставлять в документ отдел?

Для отображения в лукап полях поле должно ссылаться на нефильтруемый и несвязанный источник данных.


 
ari_9   (2007-08-14 15:11) [3]

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

я не пишу конкретный пример из своей предметной области, так как там придется слишком много расписывать и объяснять


 
ari_9   (2007-08-14 15:17) [4]

как я подобное делал раньше - в ячейке отображалось калькулируемое поле, в котором в виде одной строки была информаци и об отделе, и о сотруднике. столбец таблицы, естественно, только для чтения. по Ellipse Button ячейки открывалось модальное окошко выбора отдела-сотрудника, гле было два связаных мастер-детали датасета и два грида. мне кажется это слишком громоздко и есть какой-то более простой и красивый вариант


 
stanislav ©   (2007-08-14 16:52) [5]

ari_9   (14.08.07 15:17) [4]
Данную задачу может решать DBGridEh, стандартными для него методами.
Подключается 2 DataSource один отфильтрован, другой нет.
С cxGrid ом не разбирался возможно он тоже может.



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

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

Наверх





Память: 0.46 MB
Время: 0.056 c
1-1191421712
ggg
2007-10-03 18:28
2007.12.23
Недостаточно памяти для обработки команды.


2-1196208395
Кевларвестов Семен
2007-11-28 03:06
2007.12.23
Чтение данных с поврежденного CD


2-1195885117
Alex_C
2007-11-24 09:18
2007.12.23
Не работает программа под Vista


5-1164376036
Priest
2006-11-24 16:47
2007.12.23
При размещении компонента на форме, занести его в коллекцию


15-1195834916
@!!ex
2007-11-23 19:21
2007.12.23
НПЦ Спектр





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