我意识到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 -
答案 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