码迷,mamicode.com
首页 > 其他好文 > 详细

用嵌套List实现DataGrid的主从表显示

时间:2018-06-30 18:56:06      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:oid   otn   定义   date()   null   dup   右键   sign   名称   

//首先构造嵌套List,也就是一个list在另一个list中充当成员
//如:referModels 在res中充当成员
var res = totalAffectedMedels.Select(c => new
            {
                TIME_SLICE_ID = c.curModel.TIME_SLICE_ID,
                referModels = c.referModels == null ? null : c.referModels.Select(n => new
                {
                    数据类型 = n.TABLE_INFO,
                    名称 = n.NAME,
                    识别 = n.DESIGNATOR,
                    数量 = n.mCount
                }).ToList(),
                任务操作 = c.operType == CmmDb.DbOperation.Add ? "添加" :"",
                数据类型 = c.curModel.TABLE_INFO,
                名称 = c.curModel.NAME,
                识别 = c.curModel.DESIGNATOR
            }).ToList();

//最简单的方法直接将此list绑定到gdc的DataSource就能自动出现主从界面,不用在界面上做任何设置,如
//要显示隐藏哪些列完全通过上面的自定义List实现
//子表的标签会自动为referModels
CmmFrm.BestFitGridViewListWidth(gdc_TaskCancel, res, 1);

//如果要仅有个别列要隐藏,添加绑定事件MasterRowExpanded,在点击行头的+时触发
private void gdv_TaskCancel_MasterRowExpanded(object sender, DevExpress.XtraGrid.Views.Grid.CustomMasterRowEventArgs e)
        {
            GridView gridViewMaster = sender as GridView;
            GridView gridViewDetail = gridViewMaster.GetDetailView(e.RowHandle, e.RelationIndex) as GridView;
            if (gridViewDetail.IsNotNull())
            {
                gridViewDetail.BeginUpdate();
                gridViewDetail.Columns["TIME_SLICE_ID"].Visible = false;
                gridViewDetail.Columns["TIME_SLICE_ID"].OptionsColumn.ShowInCustomizationForm = false;
                gridViewDetail.EndUpdate();
            }
        }

//一般的做法是在gdv中添加Level视图,点击右键修改视图名称为子List名称,referModels,可绑定子表。所有子表列都能自动显示。
//也可以在界面中添加字段

用嵌套List实现DataGrid的主从表显示

标签:oid   otn   定义   date()   null   dup   右键   sign   名称   

原文地址:https://www.cnblogs.com/mol1995/p/9248235.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!