簡體   English   中英

DevExpress和C#:選擇值后驗證RepositoryItemLookUpEdit單元格

[英]DevExpress & C# : Validate RepositoryItemLookUpEdit cell after choosing value

我有一個GridView其中我有此列:

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;
}

看起來是這樣的:

在此處輸入圖片說明

每當用戶在此單元格中選擇一個新值時,我都想執行一些操作(根據當前單元格的值設置其他單元格的值),但是問題是我知道所有可能的事件僅在該單元格失去焦點后才會觸發,我嘗試過:

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");
}

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM