Главная страница
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.018 c
2-1195897949
WebSQLNeederr
2007-11-24 12:52
2007.12.23
Использование ini для загрузки настроек програмы


6-1176463972
Серге И
2007-04-13 15:32
2007.12.23
Как получить список административных ресурсов компьютера в сети.


15-1195624952
Stanislav_
2007-11-21 09:02
2007.12.23
Админу


2-1196590346
hoza-roma
2007-12-02 13:12
2007.12.23
Как добавить свой пункт меню в контекстое меню Windows?


15-1196086473
alll_23
2007-11-26 17:14
2007.12.23
Что бы такого написать?