powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxGrid и LookUpComboBox
22 сообщений из 22, страница 1 из 1
cxGrid и LookUpComboBox
    #39573360
FOGOT-BAstA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем!

Есть cxGrid и поле типа lookUpComboBox. Оно работает, значения появляются и сохраняются. Теперь надо в соседнем поле по запросу сделать выпадающий список на основе текста в ячейке уже выбранного LookUp поля. Пытаюсь в запросе взять список вот так
Код: pascal
1.
2.
ADOQuery1.SQL.Add('SELECT Naimenovanie FROM Dannie WHERE Tematika=''' +
                  TcxLookupComboBoxProperties(cxGrid2DBTableView1Tematika.Properties.).ListColumns[1].Field.Value+'''');



Но при запуске приложения на этом запросе появляется ошибка "Argument out of range".
Как правильно обратиться к значению в ячейке cxGrid'а. В хелпе инфы не нашел про это, в инете тоже. Интересует именно текст в ячейке, а не в датасете.
Заранее спасибо.
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39573364
KonstF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: pascal
1.
ADOQuery1.ParamByName( ':prm1' ).asТвойТип  


и заканчивай использовать предыдущую конструкцию.
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39573367
KonstF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
+ данные все-таки надо брать из дата сета ибо они всегда синхронизированы с вцл.
то бишь
Код: pascal
1.
LDS.Dataset.Fieldbyname( 'твое поле' ).твойтип;
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39573375
FOGOT-BAstA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KonstF,
Спасибо за инфу. А все-таки как к значению в ячейке обратиться в cxGrid?
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39573384
KonstF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FOGOT-BAstA, если снаружи - то придется гуглить самостоятельно, если с евента OnDrawColumnCell то напрямую ибо там есть Column: TColumnEh и прямо по имени!
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39573425
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно, но не нужно. Если хочется доступ к ячейкам и списку, то лучше брать LookupComboboxExt -- у него полноценный GridView можно вставить и работать как хочешь.
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39573550
FOGOT-BAstA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KonstF,это не EhLib, в cxGrid нет ни таких событий ни таких параметров...в поиске нашел только вариант, который описал - он выдает ошибку.
JaDi, поясни пожалуйста, его в cxGrid как-то запихнуть что-ли надо??Это ведь отдельный компонент
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39573564
FOGOT-BAstA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi, по ExtLookUpComboBox понял что в Properties ставиться (просто есть отдельный компонент в этой библиотеке). Ща мануал посмотрю.
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39573609
FOGOT-BAstA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi, можешь вкратце написать как с ним работать? Как вьюхи (через GridViewrepository?) создавать и подключить экстлукап поле к ним? Буду очень благодарен!=)
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39573613
KonstF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FOGOT-BAstA , посмотри в этой ветке !

Но как по мне - редактировать прямо в сетке это глупость. Сам не идеально пишу, но это не правильно !



http://www.sql.ru/forum/835386/cxgrid-kak-poluchit-znachenie-yacheyki
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39573823
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FOGOT-BAstAJaDi, можешь вкратце написать как с ним работать? Как вьюхи (через GridViewrepository?) создавать и подключить экстлукап поле к ним? Буду очень благодарен!=)
Всё верно, создается репозиторий cxGridViewRepository, в него добавляется вьюха типа db table, после чего у ExtLookupComboBox'а в Properties выставляется эта самая вьюха в поле view и настраиваются колонки: KeyFieldName -- значение поля, которое будет сохраняться в комбобоксе (combo.EditValue) и ListFieldItem -- колонка, которая при выборе будет показываться. А далее уже у самой вьюхи можно всякие события использоваться типа OnGetDisplayText для замены текста или OnCustomDataCellDraw для рисования.
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39574174
FOGOT-BAstA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi, спасибо, остался главный вопрос - как значение получить из ячейки. Вариант KonstF ту же ошибку показывает+аксес виолэйшн...
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39574186
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FOGOT-BAstA,

хмм... прочитал начало топика. Задача совсем в другом:
- в колонке с тематикой сделать обычное lookup-поле (выбор из списка);
- в колонке с наименованием добавить такое же lookup-поле (выбор из списка);
- на событии OnPopup или т.п. колонки с наименованием фильтровать датасет со списком наименований так, чтобы там оставались записи только по ранее выбранной тематике:
Код: pascal
1.
2.
datasetVseNaimenovania.Filter := 'TEMATIKA_ID = ' + datasetDataSpisokTEMATIKA_ID.AsString;
datasetVseNaimenovania.Filtered := True;


- код примерный, если не заработает, надо смотреть, как корректно фильтровать выпадающих список в гриде devexpress;
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39574197
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FOGOT-BAstAJaDi, спасибо, остался главный вопрос - как значение получить из ячейки. Вариант KonstF ту же ошибку показывает+аксес виолэйшн...

Код: pascal
1.
cxGrid2DBTableView1Tematika.Properties.EditProperties.GetDisplayText(cxGrid2DBTableView1Tematika.Properties.Value);
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39574237
FOGOT-BAstA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi, относительно Вашего метода
Код: pascal
1.
datasetDataSpisokTEMATIKA_ID.AsString

- опять же откуда брать значение для фильтра, ведь в еще нет значения? Если бы я делал ImmidiatePost, то да, можно было бы взять из датасета (как предлогал KonstF), но задача именно в том, чтобы заполнить все необходимые поля и только потом внести в базу.

Tactical Nuclear Penguin, написал как Вы предложили - заругался на EditProperties - такого нет, удалил и оставил просто
Код: pascal
1.
cxGrid2DBTableView1Tematika.Properties.GetDisplayText(cxGrid2DBTableView1Tematika.Properties.Value



сейчас ругается на Value
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39574246
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FOGOT-BAstA,

ImmediatePost у колонки отвечает только за сохранения текущего введенного значения в девовский контрол. И используется, например, для контроля ввода и возможности отмены в случае ошибок, например, при проверке на onvalidate, а так же для немедленного сохранения выбранного значения с целью реакции на OnEditValueChanged (например, какой-нибудь пересчет в соседних колонках). В базу никто эти значения постить не будет, пока фокус с текущей записи не сместится или не будет принудительно пост вызван Post у датасета/датаконтроллера. Более того, когда пользователь нажимает на соседнее поля, то этот самый PostEditValue все-равно вызывается.

В общем, всё там будет, что нужно.
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39574251
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FOGOT-BAstATactical Nuclear Penguin, написал как Вы предложили - заругался на EditProperties - такого нет, удалил и оставил просто
Код: pascal
1.
cxGrid2DBTableView1Tematika.Properties.GetDisplayText(cxGrid2DBTableView1Tematika.Properties.Value



сейчас ругается на Value

прям матом ругается?
версия DevExpress какая?
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39574261
FOGOT-BAstA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tactical Nuclear Penguin, сообщением - TcxCustomEditProperties does not contain a member named "Value"
версия 15.2.2.
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39574280
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FOGOT-BAstATactical Nuclear Penguin, сообщением - TcxCustomEditProperties does not contain a member named "Value"
версия 15.2.2.

у меня старее
тогда спрашивай на форуме поддержки...
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39574290
FOGOT-BAstA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi, спасибо за идею с фильтрацией! Тут ничего сложного.
Код: pascal
1.
2.
3.
ADODataSet1.Filtered := False;
ADODataSet4.Filter := 'Tematika='+QuotedStr(ADODataSet3.FieldByName('Tematika').AsString);
ADODataSet4.Filtered := True;


Для текущего решения моей проблемы подходит хорошо, но если надо определить значение без набора данных - тут уже загвоздка. Случайно только что нашел старую тему, м.б. кому поможет (сам не пробовал ничего из там написанного)
http://www.sql.ru/forum/706235/staroe-i-novoe-znachenie-yacheyki-cxgrid-kak-poluchit
А с ImmediatePost мне не понятно...Справка у меня не полная видимо пытаюсь по ссылке пройти - пишет нет раздела((( Все что написано - If the ImmediatePost property of the editor’s Properties object is set to True, the edit value will be posted immediately after it has been changed. Т.е. оно сразу поститься при изменении вносимого или редактируемого??
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39574293
FOGOT-BAstA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за помощь!
...
Рейтинг: 0 / 0
cxGrid и LookUpComboBox
    #39574302
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При ImmediatePost значение из комбобокса (лукап поля) сохраняется сразу при выборе -- т.е. сработает событие oneditvaluechanged контрола. Если оно выключено, то ничего не сохранится до тех пор, пока не переключится фокус на другой контрол, или не будет вызван PostEditValue у контрола.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxGrid и LookUpComboBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]