GridLookUpEdit和多部分键

时间:2011-11-16 19:03:31

标签: c# .net devexpress

我意识到DevExpress GridLookUpEdit编辑器不适用于具有多部分键的数据。但是,我正试图解决这个限制。

我的GridLookUpEdit的数据是Product-Purity,有两列“PRODUCT_ID”和“PURITY_ID”。当用户在GridLookupEdit中选择产品纯度行时,我有这个代码来设置底层网格的纯度:

    void lookUpEditProductPurities_EditValueChanged(object sender, EventArgs e)
    {
        // Get the purity from the product selected and update the purity column of the grid.
        DevExpress.XtraEditors.GridLookUpEdit editor = (sender as DevExpress.XtraEditors.GridLookUpEdit);
        DevExpress.XtraGrid.Views.Grid.GridView view = editor.Properties.View as DevExpress.XtraGrid.Views.Grid.GridView;
        object val = view.GetRowCellValue(view.FocusedRowHandle, "PURITY_ID");
        if (editor.Parent is GridControl)
        {
            GridControl ParentGridControl = (editor.Parent as GridControl);
            GridView ParentGridView = (ParentGridControl.MainView as GridView);
            DataRow CurrentDataRow = ParentGridView.GetDataRow(ParentGridView.FocusedRowHandle);
            CurrentDataRow["PRODUCT_PURITY_ID"] = val;
        }
    }

当我从主网格中使用它时,这很好用,但有一个小问题。当现有行指的是纯度不是产品的第一纯度时,弹出网格将使其看起来好像选择了第一纯度。就我而言,这不是什么大问题。

然而:我遇到的一个大问题是当我在主 - 细节网格的细节行中使用此GridLookUpEdit时。调用:editor.Parent返回master的网格控件,ParentGridControl.MainView返回主视图的GridView。

如何在gridView上看到GridLookUpEdit是一个编辑器 - 子gridView ??

tia -

1 个答案:

答案 0 :(得分:1)

您的任务(获取详细信息视图)可以使用What can cause the properties, methods, and events of a detail grid view to fail?文章中显示的方法实现 - 使用 GridView.GetDetailView方法。
还请查看以下文章: Navigating Through Master and Detail Rows