Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Надо в каждой ячейке 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]

лукап поле


Наверх

Титульная страница Поиск, карта сайта Написать письмо