Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.06.2011, 17:07
vikk vikk вне форума
Начинающий
 
Регистрация: 01.10.2010
Сообщения: 132
Репутация: 10
По умолчанию Как заставить открываться колонку грида типа LookupComboBox?

Я бы хотела, чтоб прямо из грида можно было выбрать в колонку "Оценка" значение из списка, выпадающего по EditButton-кнопке. Во вьюшке cxGrid-а колонка EstimateID, c Properties := LookupComboBox. Она смотрит на TMSQuery - Список оценок из двух полей (EstimateID, EstimateValue).
Для этой колонки DataBinding.FieldName := EstimateID; Options.ShowEditButtons := isebAlways ; в пропертях - KeyFieldNames := EstimateID; ListSource := DS_Estimate(датасорс, который связан с кверью оценок); ListFieldNames := EstimateValue. Кнопка в поле есть, но при нажатии на неё список не открывается(сама кверь оценок заполняется по запросу из ДБ корректно).
Что я забыла или сделала неправильно? Или может кто-нибудь подскажет какой-нибудь альтернативный способ реализации того, что хочется увидеть? Спасибо всем, кто откликнется!
Ответить с цитированием
  #2  
Старый 14.06.2011, 17:15
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

надо в этот комбобокс датагрида предварительно ввести данные,оценки,или сделать чтоб например при запуске проги, циклом, значения из базы данных туда занеслись в этот бокс
Ответить с цитированием
  #3  
Старый 14.06.2011, 19:36
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

ой сорри это я с Дбгридом перепутал) там пиклист есть...

Последний раз редактировалось Snake22, 14.06.2011 в 21:51.
Ответить с цитированием
  #4  
Старый 15.06.2011, 10:06
vikk vikk вне форума
Начинающий
 
Регистрация: 01.10.2010
Сообщения: 132
Репутация: 10
По умолчанию

а жаль . Не понимаю, чего не хватает - вроде делаю всё так, как в хелпе написано! Какое-то свойство, видать, упустила. А вот мне ещё интересно - у EditButton комбобокса(ну, стрелочка вниз, которая прям в колонке находится), если она видна, есть дефолтовый обработчик OnClick? Почему она у меня не нажимается-то? Или нажимается, но ничего не происходит?
Ответить с цитированием
  #5  
Старый 15.06.2011, 18:22
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Как я понял у вас cxGrid из DevExpress.
Для того что вы хотите, надо:
1. В свойствах нужного столбца для cxGrid выставить в свойстве DataBinding.FieldName
2. Выставить Properties в LookupComboBox
3. В дереве Properties правильно настроить следующие свойства:
ListSource,ListFieldNames,KeyFieldNames
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 16.06.2011, 09:42
vikk vikk вне форума
Начинающий
 
Регистрация: 01.10.2010
Сообщения: 132
Репутация: 10
По умолчанию

Ну, я ж так и сделала!!! Я же описала то же самое, что Вы мне предлагаете! И не работает. Я поэтому и прошу о помощи, потому как сделала всё согласно хелпу, а результата - ноль. Или Вы видите какую-то мою неправильность в установке свойств? Подскажите тогда, сделайте одолжение - может у меня просто глаз уже замылился - ведь задача-то тривиальная, а не получаетася. Обидно ведь!

Последний раз редактировалось vikk, 16.06.2011 в 09:46.
Ответить с цитированием
  #7  
Старый 16.06.2011, 12:02
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

А запрос DS_Estimate то у вас активен? Может вы его не открыли?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #8  
Старый 20.06.2011, 10:39
vikk vikk вне форума
Начинающий
 
Регистрация: 01.10.2010
Сообщения: 132
Репутация: 10
По умолчанию

Всё гораздо проще оказалось - у меня изначально грид был недредактируемым. Эта колонка сначала тоже редактировалась не через грид, а через отдельную формочку. Поэтому я в свойствах вьюшки в целом и не догадалась посмотреть Теперь у меня другая запара - можно ли сделать так, чтоб активная ячейка этой колонки была бы то редактируемой, то нередактируемой, в зависимости от значений других колонок? Попыталась в обработчик OnCellClick запихнуть для этой колонки свойство Editing := false - не работает(список открывается при любых условиях). А если всей вьюшке (т.е. в обработчике Sender.Editing := false ), то вообще программа падает. Как же сделать по уму-то ?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:26.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025