![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Надо в каждой ячейке DBGrida иметь свой выпадающий список. [D6]
alextov © (2004-12-15 18:17:00)пользую DBGridEh .
Там есть свойство Column.PickList,куда заноситься список строк, которые будут выпадать в комбобоксе.
Но это свойство на всю колонку , а мне надо, чтоб выпадающий список, зависел от номера строки (значения строки).
Подскажите как это можно реализовать...
(2004-12-17 09:51:00) [1]Удалено модератором
msguns (2004-12-16 16:33:00) [2]Вот что происходит, когда в наличии неуемное желание редактировать непосредственно в гриде ;)))
Соловьев (2004-12-16 11:41:00) [3](соответственно - разные выпадающие списки в колонке результат)
ага. это уже ближе. Ну вот и вторая колонка вырисовалась :)
Что и требовалось - стандартная связка мастер-детайл и лукап поля :)
Соловьев (2004-12-16 11:40:00) [4]Мне нужно чтобы пользователь несогласный с тем что "зеленый" - зеленый мог выбрать из списка "салатовый"
Интересно, а что ты собераешся увидеть, если у тебя запрос возращает, красный, зеленый и желтый, а ты туда салатовый запишешь?
Тут имхо, чего то не туда пошло. Чего-то вовсе я запутался. Что нужно то?
Sergey13 (2004-12-16 11:39:00) [5]2[11] alextov (16.12.04 11:35)
А как организован справочник, откуда берутся "салатовые" и "автомобили"? 8-)
alextov (2004-12-16 11:38:00) [6]возможно с цветом был не совсем удачный пример
лучше для понимания такая структура таблицы
"исследование" - "результат"
для разных исследований - разные результаты (соответственно - разные выпадающие списки в колонке результат)
alextov (2004-12-16 11:35:00) [7]2 Соловьев
Один из нас точно чего-то не понимает :)
Мне нужно чтобы пользователь несогласный с тем что "зеленый" - зеленый мог выбрать из списка "салатовый"
и в следующей строке в этой же колонке выбрать из списка "автомобиль".
Но чтоб в первой строке в выпадающем списке "автомобиль" не светился и ,соответственно, во второй строке в списке не светился "салатовый".
Sergey13 (2004-12-16 11:28:00) [8]2[9] Соловьев © (16.12.04 11:22)
Скорее тут недоработка (с моей т.з.) в проектировании. Если есть всего одно поле "цвет", а справочник "цвета" спроектирован с внутренними зависимостями, то работать с этим очень трудно. Следовало бы в рабочей таблице 2 поля "цвет" и "оттенок".
Такое мое ИМХО на мои же догадки о структуре таблиц автора. 8-)
Соловьев (2004-12-16 11:22:00) [9]2 Sergey13 © (16.12.04 11:19) [8]
Тут стандартная завязка мастер-детайл. Автор сам себя путает.
Sergey13 (2004-12-16 11:19:00) [10]А если попробовать настроить лукап не по одному полю, а по нескольким (2). Вроде должно работать.
Соловьев (2004-12-16 11:15:00) [11]Мне нужно чтобы при установке курсора в ячейку со значением "красный" выпадал список выбора -
"темно красный"
"светло красный"
"бордовый"
но при установке курсора в ячейку со значением "зеленый" выпадал список выбора -
"темно зеленый"
"светло зеленый"
"салатовый"
А что тебе мешает чтобы селект возращал как раз это?????
alextov (2004-12-16 11:11:00) [12]Поподробнее
НАПРИМЕР селект возвращает 3 строки со значениями
"красный"
"синий"
"зеленый"
Мне нужно чтобы при установке курсора в ячейку со значением "красный" выпадал список выбора -
"темно красный"
"светло красный"
"бордовый"
но при установке курсора в ячейку со значением "зеленый" выпадал список выбора -
"темно зеленый"
"светло зеленый"
"салатовый"
Я пробовал подключать разные лукап-датасеты, но тогда действительно возникает проблема с отображением строк, которые не представлены в текущем лукап-датасете.
Похожая проблема возникает если менять PickList в DataSet.AfterScroll - но как-то периодически...
Sergey13 (2004-12-16 10:43:00) [13]2[2] alextov (15.12.04 18:53)
>и к каждой записи(строке) подключать новый лукап-датасет?
Ты бы описал попдробнее зависимость выпадающего списка "от номера строки (значения строки)".
В принципе, можно фильтровать лукап-датасет по значению строки текущего НД. Но тогда наверное возникнет напряг с отображением других строк, отличных по значению от текущей.
Мне больше нравится решение от [3] Zacho © , только может не на AfterScroll, а на BeforeEdit стоит это дело лучше посадить.
Соловьев (2004-12-16 10:30:00) [14]и к каждой записи(строке) подключать новый лукап-датасет?
Т.е. у тебя это поле имеет разнородную информацию? А как это?
Zacho (2004-12-15 23:46:00) [15]alextov (15.12.04 18:53) [2]
Формируй PickList в DataSet.AfterScroll
А вообще, подробнее опиши свою задачу - возможно есть более простое/правильное решение.
alextov (2004-12-15 18:53:00) [16]и к каждой записи(строке) подключать новый лукап-датасет?
Соловьев (2004-12-15 18:28:00) [17]лукап поле