DevExpress GridControl 主从表数据(Master/Detail) 应用 - 高级篇
参考界面设计


Detail 明细表格弹出菜单

C# 全选
//二级明细弹窗菜单
gvDetailBOM.PopupMenuShowing += (sender, e) =>
{
//获取动态生成的克隆视图
var gv = sender as GridView;
//注册表格组件,自动添加右键弹出菜单功能
frmGridCustomize.RegisterGrid(gv);
frmGridCustomize.AddMenuItem(gv, GridMenuNames.物料收发明细, Globals.LoadImage("24_InOut.png"), (sender, e) => { DoExecuteCmd_DetailSub(sender, GridMenuNames.物料收发明细); }, true);
};
BOM明细挂载事件
动态绑定Detail表格的事件,如:FocusedRowChanged
C# 全选
//BOM明细挂载事件:动态绑定Detail表格的事件,如:FocusedRowChanged
gcDetail.ViewRegistered += (sender, e) =>
{
if (e.View is GridView detailView)
{
//二级明细表不显示下级明细
detailView.OptionsDetail.EnableMasterViewMode = false;
//重要:显示当前行(0)
//如果只有一行,FocusedRowChanged事件不会触发,使用 GotFocus 触发。
detailView.GotFocus += (sender, e) =>
{
if (detailView.FocusedRowHandle >= 0)
{
var row = detailView.GetRow<res_tb_BOMDtls>();
LoadAndShowInventoryList(row.ProductCode);
}
};
//如果只有一行,FocusedRowChanged事件不会触发
detailView.FocusedRowChanged += (sender, e) =>
{
if (detailView.FocusedRowHandle >= 0)
{
var row = detailView.GetRow<res_tb_BOMDtls>();
LoadAndShowInventoryList(row.ProductCode);
}
};
}
};
二级明细表格(Detail)参数设置
C# 全选
this.gvDetailBOM.ViewCaption = "BOM明细";
this.gvDetailBOM.OptionsBehavior.Editable = false;
this.gvDetailBOM.OptionsView.ShowViewCaption = false;
this.gvDetailBOM.OptionsView.ShowGroupPanel = false;
this.gvDetailBOM.CellValueChanged += OnCellValueChanged_DetailBOM_;
//二级BOM明细,建立主从关系(设置取值属性)
this.gcDetail.LevelTree.Nodes[0].RelationName = nameof(res_tb_BOMDtls.DetailList);

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网





