SVN r1180
SVN-Revision: r1180
This commit is contained in:
@@ -459,10 +459,26 @@ namespace Lskj.Control
|
||||
if (rightChildren.Count == 1)
|
||||
rightTab.ShowTabHeader = DevExpress.Utils.DefaultBoolean.False;
|
||||
|
||||
|
||||
GridControlEx leftControl = new GridControlEx();
|
||||
if (leftCtrl is GridControlEx left1)
|
||||
{
|
||||
leftControl = left1;
|
||||
}
|
||||
else if (leftCtrl is ModuleGridEx left2)
|
||||
{
|
||||
leftControl = left2.GridControlObj;
|
||||
}
|
||||
else if (page.Tag is GridControlEx left3)
|
||||
{
|
||||
leftControl = left3;
|
||||
}
|
||||
|
||||
|
||||
foreach (var child in rightChildren.OrderBy(c => c.Orderid))
|
||||
{
|
||||
XtraTabPage childPage = new XtraTabPage { Text = child.DetailName };
|
||||
System.Windows.Forms.Control childCtrl = CreateDetailControl(childPage, child, dataCaches);
|
||||
System.Windows.Forms.Control childCtrl = CreateDetailControl(childPage, child, dataCaches, true, leftControl);
|
||||
childPage.Controls.Add(childCtrl);
|
||||
rightTab.TabPages.Add(childPage);
|
||||
}
|
||||
@@ -1011,7 +1027,7 @@ namespace Lskj.Control
|
||||
/// <param name="dataCaches"></param>
|
||||
/// <param name="isGridmerge"></param>
|
||||
/// <returns></returns>
|
||||
private System.Windows.Forms.Control CreateDetailControl(System.Windows.Forms.Control parentControl, GridDetailModel model, Dictionary<object, Hashtable> dataCaches, bool isGridmerge = true)
|
||||
private System.Windows.Forms.Control CreateDetailControl(System.Windows.Forms.Control parentControl, GridDetailModel model, Dictionary<object, Hashtable> dataCaches, bool isGridmerge = true, GridControlEx leftGridControlEx =null)
|
||||
{
|
||||
|
||||
GridDetailModel[] isMeage = _gridDetail.Cast<GridDetailModel>().Where(x => x.DetailName.Equals(model.DetailName)).ToArray();
|
||||
@@ -1020,6 +1036,13 @@ namespace Lskj.Control
|
||||
object control = PageControlsDic.ContainsKey(model) ? PageControlsDic[model] : null;
|
||||
bool hasControl = control != null;
|
||||
|
||||
GridControlEx currentParentGridEx = this.ParentGridEx;
|
||||
if (leftGridControlEx != null)
|
||||
{
|
||||
currentParentGridEx = leftGridControlEx;
|
||||
}
|
||||
|
||||
|
||||
/* ───── 1. 图表 ───────────────────────────────────────── */
|
||||
if (model.IsChart)
|
||||
{
|
||||
@@ -1260,9 +1283,9 @@ namespace Lskj.Control
|
||||
if (model.LoadFilter) gridEx.GridView.OptionsView.ShowAutoFilterRow = true;
|
||||
|
||||
// 拖拽
|
||||
if (IsDragDetail && ParentGridEx != null && model.IsDrag)
|
||||
if (IsDragDetail && currentParentGridEx != null && model.IsDrag)
|
||||
{
|
||||
var dg = new GridDragGrid(gridEx.GridView, ParentGridEx.GridView);
|
||||
var dg = new GridDragGrid(gridEx.GridView, currentParentGridEx.GridView);
|
||||
dg.OnDragComplete += OnDragGridCompleted;
|
||||
}
|
||||
if (MrpParentGridEx != null && model.IsMrpDrag)
|
||||
@@ -1301,7 +1324,7 @@ namespace Lskj.Control
|
||||
this.DetaiName = model.DetailName;
|
||||
TabMultipledetails tabMultipledetails = hasControl && control is TabMultipledetails ? (TabMultipledetails)control : new TabMultipledetails();
|
||||
tabMultipledetails.Model = this.Model;
|
||||
tabMultipledetails.ParentGridEx = this.ParentGridEx;
|
||||
tabMultipledetails.ParentGridEx = currentParentGridEx;
|
||||
tabMultipledetails.ParentControlEx = this.ParentControlEx;
|
||||
tabMultipledetails.IsDragDetail = this.IsDragDetail;
|
||||
tabMultipledetails.Model = this.Model;
|
||||
@@ -1367,7 +1390,7 @@ namespace Lskj.Control
|
||||
|
||||
gridEx.GridControlObj.Tag = model;
|
||||
gridEx.ParentControlEx = ParentControlEx;
|
||||
gridEx.ParentGridEx = ParentGridEx;
|
||||
gridEx.ParentGridEx = currentParentGridEx;
|
||||
gridEx.ParentKeyField = string.IsNullOrEmpty(model.UnionParentField)
|
||||
? model.SystemModel.ParmaryKey
|
||||
: model.UnionParentField;
|
||||
@@ -1386,7 +1409,7 @@ namespace Lskj.Control
|
||||
{
|
||||
GridDragGrid.GridAddCheckBox(gridEx.GridControlObj.GridView);
|
||||
if (model.RecordDetailsCheckbox &&
|
||||
ParentGridEx?.GridView.OptionsSelection.MultiSelect == true)
|
||||
currentParentGridEx?.GridView.OptionsSelection.MultiSelect == true)
|
||||
{
|
||||
gridEx.TagName = model.DetailName;
|
||||
gridEx.GridControlObj.GridView.SelectionChanged += GridView_SelectionChanged;
|
||||
@@ -1395,10 +1418,10 @@ namespace Lskj.Control
|
||||
if (model.LoadFilter)
|
||||
gridEx.GridControlObj.GridView.OptionsView.ShowAutoFilterRow = true;
|
||||
|
||||
if (ParentGridEx != null && model.IsDrag)
|
||||
if (currentParentGridEx != null && model.IsDrag)
|
||||
{
|
||||
gridEx.GridControlObj.GridView.DoubleClick += OnDetailGridViewDoubleClick;
|
||||
var dg = new GridDragGrid(gridEx.GridControlObj.GridView, ParentGridEx.GridView);
|
||||
var dg = new GridDragGrid(gridEx.GridControlObj.GridView, currentParentGridEx.GridView);
|
||||
dg.OnDragComplete += OnDragGridCompleted;
|
||||
}
|
||||
if (MrpParentGridEx != null && model.IsMrpDrag)
|
||||
|
||||
Reference in New Issue
Block a user