WINFORM - DevExpress -> gridcontrol---->主从模式
1.gridview设置
//不显示分组的面板
gridView1.OptionsView.ShowGroupPanel = false;//自动改变行高适应内容
gridView1.OptionsView.RowAutoHeight = true;//允许自动合并单元格
gridView1.OptionsView.AllowCellMerge = true;//如果主从表中,没有找到从表内容也要显示(默认是不显示的)
gridView1.OptionsDetail.AllowExpandEmptyDetails = true;//使得GridView不能编辑
gridView1.OptionsBehavior.Editable = false;//内置编辑器显示的模式
gridView1.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click;//主从表显示的功能是否可用
//gridView1.OptionsDetail.EnableMasterViewMode = false;//如果显示了主从表,每点开个加号,就会显示一个Tabs,里面往往显示了两个面板。
//事实上没必要这样干的。一般选择关闭。关闭的对象是主GridView的此项属性。
gridView1.OptionsDetail.ShowDetailTabs = false;
2.核心代码
DataSet ds22 = new DataSet();
DataTable dt2 = bll.Select_12().Copy();
dt2.TableName = "table1";
ds22.Tables.Add(dt2);
DataTable dt = bll.Select_16_5().Copy();
dt.TableName = "table";
ds22.Tables.Add(dt);
DataRelation dr = new DataRelation("批注", ds22.Tables["table1"].Columns["newId"], ds22.Tables["table"].Columns["newsId_release"]);
ds22.Relations.Add(dr);
gridControl1.DataSource = ds22.Tables[0];//设定主表
注:刷新数据时核心代码前添加【this.gridControl1.DataSource=null】
3.GridControl 主从模式(Master-detail)子表格获取行数据
DevExpress.XtraGrid.Views.Grid.GridView currentView = (DevExpress.XtraGrid.Views.Grid.GridView)this.gridControl1.F