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

Вниз

зависимые 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
2-1196426968
webpauk
2007-11-30 15:49
2007.12.23
Папка верхнего уровня


2-1195811107
Phoenix
2007-11-23 12:45
2007.12.23
Можно ли в парадоксе в запросе вытащить год из даты?


15-1195569942
Stanislav_
2007-11-20 17:45
2007.12.23
Админу


15-1195463121
infom
2007-11-19 12:05
2007.12.23
Отключение DataSource у всех компонентов на форме. Глюк ?


2-1196405007
ardent
2007-11-30 09:43
2007.12.23
table order