Изменить источник данных второго LookUp на основе значения первого LookUp для формы на месте

Я использую XtraGrid, режим редактирования которого EditFormInplace. Я заполнил datasources из всех LookUps при загрузке страницы. Теперь во время выполнения, когда LookUp1 выбирает элемент, мне нужно изменить datasource из LookUp2.

Как я могу этого добиться? "Изменить datasource из LookUp2 на основе значения LookUp1's для формы на месте".


person Hossein Panahloo    schedule 26.12.2016    source источник


Ответы (1)


Я предлагаю вам использовать встроенные функции для каскадного поиска:

lookUpEdit2.CascadingOwner = lookUpEdit1;

Я использую XtraGrid, режим редактирования которого — EditFormInplace.

Каждый раз, когда отображается форма редактирования, запускается событие GridView.EditFormPrepared. Таким образом, вы можете использовать это событие для доступа к элементам управления в форме редактирования:

void gridView1_EditFormPrepared(object sender, DevExpress.XtraGrid.Views.Grid.EditFormPreparedEventArgs e) {
    var lookupEdit1  = e.BindableControls[colLookup1] as LookupEdit;
    var lookupEdit2  = e.BindableControls[colLookup2] as LookupEdit;
    // ... customize editors
}
person DmitryG    schedule 28.12.2016
comment
Спасибо за ответ. Моя проблема в том, что я не могу получить доступ к объекту «lookupEdit2», потому что он находится в «форме редактирования на месте». Как вы уже упоминали, нет «lookupEdit2», который я мог бы использовать. - person Hossein Panahloo; 29.12.2016
comment
Я сделал, как вы упомянули в обновлении. Теперь проблема в том, что «lookupEdit1» не содержит определения для «CascadingOwner». - person Hossein Panahloo; 29.12.2016
comment
Я предполагаю, что «CascadingOwner» не для формы редактирования на месте. Я не знаю, как их фильтровать в режиме «EditFormInplace». Я ценю любую помощь. - person Hossein Panahloo; 01.01.2017