2014-07-21 51 views
0

後驗證RepositoryItemLookUpEdit細胞我有一個GridView中,我有此列:的DevExpress&C#:選擇值

bandedGridColumn.ColumnEdit = InitEdit_Material(); 

這裏是InitEdit_Material方法:

public static RepositoryItemLookUpEdit InitEdit_Material() 
{ 
    RepositoryItemLookUpEdit riMaterial = new RepositoryItemLookUpEdit(); 

    riMaterial.Columns.Add(new LookUpColumnInfo("ID", "ID")); 
    riMaterial.Columns.Add(new LookUpColumnInfo("CustomsMaterial.Name", "Name")); 

    riMaterial.DataSource = Service.GetAll(svc.EntityTypeToGet.Material).Data.All_Material; 

    riMaterial.DisplayMember = "MaterialFullname"; 
    riMaterial.ValueMember = "ID"; 

    riMaterial.AutoSearchColumnIndex = 1; 
    riMaterial.BestFitMode = BestFitMode.BestFitResizePopup; 
    riMaterial.NullText = ""; 


    return riMaterial; 
} 

這是什麼樣子:

enter image description here

我要對其執行當用戶在這個單元格中選擇一個新值時,某些動作(根據當前單元格值設置其他單元格的值),但問題是我知道的所有可能事件只有在單元格失去焦點時纔會觸發,我試過了:

private void vwVD_ValidatingEditor(object sender, BaseContainerValidateEditorEventArgs e) 
{ 
    if (vwVD.FocusedColumn.Name == "colMaterialID") 
     MessageBox.Show("only show when focus lost"); 
    return; 
} 

private void vwVD_CellValueChanged(object sender, CellValueChangedEventArgs e) 
{ 
    if (e.Column.Name != "colMaterialID") return; 

    MessageBox.Show("only show when focus lost"); 
} 

回答

1

你可以嘗試使用GridView.CellValueChanging事件:

private void vwVD_CellValueChanging(object sender, CellValueChangedEventArgs e) 
{ 
    if (vwVD.FocusedColumn.Name == "colMaterialID") 
    { 
     //Perform some actions. Use e.Value. 
    } 
} 
+0

嗨,老兄,對不起這麼晚纔回復,這工作得很好給我,謝謝 – NeedAnswers

相關問題