Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
2-1196316222
uno
2007-11-29 09:03
2007.12.23
Запись сообщения в таблице


1-1191498439
Kerk
2007-10-04 15:47
2007.12.23
Количество бит в байте


15-1195850489
syte_ser78
2007-11-23 23:41
2007.12.23
windows 1.01


15-1196017801
Cyrax
2007-11-25 22:10
2007.12.23
JavaScript: "не выпускаем" пользователя из поля ввода, пока...


2-1195987013
Ivolg
2007-11-25 13:36
2007.12.23
Прога без окна




   Наверх