2016-12-26 8 views
0

편집 모드가 EditFormInplaceXtraGrid을 사용합니다. 페이지가로드 될 때 LookUpsdatasources이 채워졌습니다. 이제 런타임에 LookUp1이 항목을 선택할 때 datasourceLookUp2으로 변경해야합니다.첫 번째 LookUp의 내부 값 형식에 대한 값을 기반으로 두 번째 Lookup의 데이터 소스를 변경하십시오.

어떻게하면됩니까? "datasourceLookUp2이고 양식의 LookUp1's 값을 기준으로 변경하십시오."

답변

0

난 당신이 cascading lookups의 내장 기능을 사용하는 것이 좋습니다 :

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 
} 
+0

감사 대답을, 내 문제는, 내가 있기 때문에 '현재 위치에서 편집 양식'의에 액세스 'lookupEdit2'객체를 기울인다. 언급 된대로 사용할 수있는 'lookupEdit2'가 없습니다. –

+0

업데이트에서 언급 한대로 했어요. 이제 문제는 'lookupEdit1'에 'CascadingOwner'에 대한 정의가 포함되어 있지 않다는 것입니다. –

+0

'CascadingOwner'는 내부 편집 양식이 아닐 것입니다. 어떻게 그들을 'EditFormInplace'모드로 필터링할지 모르겠습니다. 어떤 도움을 주셔서 감사합니다. –