![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте!
DevExpress+FIBdataset - возникла дурацкая проблема - таблица TcxDBVerticalGrid к ней относится Dataset1, одно из полей KF указано как LookupComboBox там указан Dataset2 и необходимые поля key и lookup - всё работает отлично! Но нужно из Dataset2 взять два параметра в зависимости от выбранного в данном поле ключевого значения и передать их в Dataset1. Так вот проблема в том, что при попытке это сделать - данные то передаются, но значение поля KF в таблице - обнуляется. Пробовал передавать и из Dataset1 в Dataset2 напрямую через FN, FieldByName и из Dataset2 прямо в нужные TcxDBEditorRow - всё равно значение в поле KF сбрасывается и обнуляется... ![]() Напишите, пожалуйста, как правильно взять несколько значений из Dataset2, чтобы поле KF оставалось с выбранным значением? Последний раз редактировалось delphicoding, 03.09.2011 в 19:44. |
#2
|
|||
|
|||
![]() Профи, никаких соображений?
|
#3
|
||||
|
||||
![]() Кусочек кода, где вы берете эти значения приведите. Пока не очень понятно, с какого перепуга у вас что-то обнуляется.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
|||
|
|||
![]() Поле LookupComboBox называется vg_NAME, обращается к qryStaffs с лдючевым полем ID и отображает поле NAME. Кусочек кода банален OnChange:
qryUsers.FN('LOGIN').value:=qryStaffs.FN('NAME').v alue; или qryUsers.FN('LOGIN').value:=vg_NAME.Properties.Val ue; После этого данные вроде передаются, но в поле LookupComboBox данные исчезают... если убрать этот код передачи значений - из данного поля LookupComboBox данные перестают исчезать, а нормально остаются. Дополнительный вопрос - как сделать, чтобы в выпадающем списке LookupComboBox строки были с автопереносом, то есть если текст не влезает в ширину поля, то не весь список расширяется, а конктреная строка становится высотой необходимой для того, чтобы весь текст влез? |
#5
|
|||
|
|||
![]() Не хватало в свойствах таблички параметра ImmediatePost=True, с ним первая проблема решилась.
Вторая проблема не решилась пока - как сделать, чтобы в TcxGrid/TcxVerticalGrid в выпадающем списке LookupComboBox строки были с автопереносом, то есть если текст не влезает в ширину поля, то не весь список расширяется, а конктреная строка становится высотой необходимой для того, чтобы весь текст влез? Или даже лучше бы заранее указать высоту строки и строки выпадающего списка, но проблема в том, что после этого перестаёт работать автоперенос текста... ![]() |
#6
|
|||
|
|||
![]() только OwnerDraw. Автоматически не получится.
|
#7
|
|||
|
|||
![]() Напишите подробнее...
|
#8
|
|||
|
|||
![]() 2. так и не решён
3. Довольно простой вопрос, но пока не пашет как нужно - а нужно, чтобы при открытии формы с таблицей TcxGrid, вся таблица была ReadOnly, но можно было выделять строки, только по нажатию отдельной кнопки Редактировать - открывалась возможность редактировать таблицу (желательно только для выбранной строки). |
#9
|
||||
|
||||
![]() 3. Прежде всего, давать пользователю прямой доступ к таблице на запись - плохой тон. Что касается только чтения, то можно поступить двояко. Можно сами данные перевести в режим только чтения:
Код:
cxGridDBTableView.Datasource.Dataset.ReadOnly := True; Код:
cxGridDBTableView.OptionsData.Appending := False; cxGridDBTableView.OptionsData.Editing := False; cxGridDBTableView.OptionsData.Inserting := False; cxGridDBTableView.OptionsData.Deleting := False; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#10
|
||||
|
||||
![]() Что касается циферки 2, то я так предполагаю вам надо просто использовать cxExtLookupComboBox, тогда вы сможете для выбора значений использовать уже cxGridDBTableView для которого можно выставить флаг:
Код:
OptionsView.CellAutoHigh := True; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#11
|
|||
|
|||
![]() Спасибо за ответы, всё это потестирую, отпишу.
Ещё остались другие вопросы в этой теме... 1. Так и не полностью пашет - если начать добавлять новую запись, но потом отменить, то пустая строка для новой записи в таблице висит, пока не перейдёшь на новую строку - только тогда пустая строка исчезает. TcxGrid. 4. Ещё стрёмный баг - запускаю окно каталога, редактора, делаю что угодно - всё работает. Затем закрываю окно каталога, открываю это же окно каталога - критическая ошибка... из-за чего?! в свойствах формы Action:=caFree. Возможно из-за Dataset, который в другой юните остался. Как его очистить и отключить? Делаю просто Dataset.Close, может надо ещё как-то? Из-за чего ещё может быть?? |
#12
|
|||
|
|||
![]() .....up.....
|