diff --git a/插件库/Lskj.Control/TabControlEx.cs b/插件库/Lskj.Control/TabControlEx.cs index 9a6ef7a..7175eb1 100644 --- a/插件库/Lskj.Control/TabControlEx.cs +++ b/插件库/Lskj.Control/TabControlEx.cs @@ -2128,10 +2128,19 @@ namespace Lskj.Control gridControl.GridView.DoubleClick -= new EventHandler(OnGridCompleted); if (gridControl is TreeGridControlEx) { - TreeGridControlEx treeGridControlEx = gridControl as TreeGridControlEx; - treeGridControlEx.SetGridViewDataSource(table, false); - dataRowCount = (treeGridControlEx.TreeListObj.DataSource as DataTable).Rows.Count; - //treeGridControlEx.TreeListObj.ExpandAll(); + + if (gridControl is TreeBandedGridControlEx) + { + TreeBandedGridControlEx treeGridControlEx = gridControl as TreeBandedGridControlEx; + treeGridControlEx.SetGridViewDataSource(table, false); + dataRowCount = (treeGridControlEx.TreeListObj.DataSource as DataTable).Rows.Count; + } + else + { + TreeGridControlEx treeGridControlEx = gridControl as TreeGridControlEx; + treeGridControlEx.SetGridViewDataSource(table, false); + dataRowCount = (treeGridControlEx.TreeListObj.DataSource as DataTable).Rows.Count; + } } else { diff --git a/插件库/Lskj.Control/TreeBandedGridControlEx.cs b/插件库/Lskj.Control/TreeBandedGridControlEx.cs index 32fb138..e772d1d 100644 --- a/插件库/Lskj.Control/TreeBandedGridControlEx.cs +++ b/插件库/Lskj.Control/TreeBandedGridControlEx.cs @@ -54,7 +54,7 @@ namespace Lskj.Control /// 获取模块配置 /// public ModuleModel moduleModel; - public TreeList TreeListObj { get { return gcMain; } } + public TreeList TreeListObj { get { return gcMain; } } /// /// 树表格固定菜单 @@ -81,6 +81,10 @@ namespace Lskj.Control /// private List DateColumnNames = new List(); + /// + /// 上次选中行 + /// + private int lastNodeIndex; public TreeBandedGridControlEx() { @@ -96,11 +100,47 @@ namespace Lskj.Control this.SetGridRowHeightAndFont(); } this.gcMain.PopupMenuShowing += new PopupMenuShowingEventHandler(OnPopupMenuShowing); + + this.gcMain.NodesReloaded += OnNodesReloaded; //InitializeTreeMethod(); //this.gcMain.OptionsBehavior.EnableFiltering = true; //this.gcMain.OptionsFind.AlwaysVisible = true; } + + /// + /// 节点加载完成后 + /// + /// + /// + private void OnNodesReloaded(object sender, EventArgs e) + { + //根据记录展开对应节点 + foreach (TreeListNode treeListNode in treeListNodes) + { + TreeListNode treeListNode1 = this.gcMain.Nodes.TreeList.FindNodeByID(treeListNode.Id); + if (treeListNode1 != null) treeListNode1.Expanded = true; + } + this.TreeListObj.FocusedNode = this.TreeListObj.GetNodeByVisibleIndex(lastNodeIndex); + if ((Expansion + "").Equals("1")) + { + this.gcMain.ExpandAll(); + } + else if ((Expansion + "").Equals("2")) + { + this.gcMain.ExpandToLevel(0); + } + else if ((Expansion + "").Equals("3")) + { + this.gcMain.CollapseAll(); + } + + //if (selectRowHandler) + //{ + // this.TreeListObj.FocusedNode = this.TreeListObj.GetNodeByVisibleIndex(lastNodeIndex); + //} + } + /// /// 修改筛选框筛选日期类型列的条件(日期=xxx 替换wei 日期>=xxx && 日期 @@ -2041,6 +2081,10 @@ namespace Lskj.Control this.gcMain.Columns.Clear(); } TreeListNode lastNode = this.TreeListObj.FocusedNode; + + lastNodeIndex = 0; + if (selectRowHandler) lastNodeIndex = this.TreeListObj.GetVisibleIndexByNode(this.TreeListObj.FocusedNode); + GetTreeExpanded(); this.gcMain.DataSource = table; this.SetAutoColumns(); @@ -2064,6 +2108,10 @@ namespace Lskj.Control this.gcMain.Columns.Clear(); } TreeListNode lastNode = this.TreeListObj.FocusedNode; + + lastNodeIndex = 0; + if (selectRowHandler) lastNodeIndex = this.TreeListObj.GetVisibleIndexByNode(this.TreeListObj.FocusedNode); + this.AdapterObj = adapter; DataSet dataSet = new DataSet(); //adapter.Fill(dataSet, "SetGridViewDataSource"); diff --git a/插件库/Lskj.Control/TreeGridControlEx.cs b/插件库/Lskj.Control/TreeGridControlEx.cs index cf90085..742bdb3 100644 --- a/插件库/Lskj.Control/TreeGridControlEx.cs +++ b/插件库/Lskj.Control/TreeGridControlEx.cs @@ -50,7 +50,7 @@ namespace Lskj.Control /// public partial class TreeGridControlEx : GridControlEx { - public TreeList TreeListObj { get { return gcMain; } } + public TreeList TreeListObj { get { return gcMain; } } /// /// 树表格固定菜单 @@ -72,7 +72,7 @@ namespace Lskj.Control /// /// 上次选中行 /// - private int lastNodeIndex; + private int lastNodeIndex; /// /// 日期类型控件名称 @@ -2501,11 +2501,11 @@ namespace Lskj.Control } } } - DbCommandBuilder cb = SqlHelper.dbFactory.CreateCommandBuilder(); cb.DataAdapter = this.AdapterObj; //SqlCommandBuilder cb = new SqlCommandBuilder(this.AdapterObj); + GetTreeExpanded(); this.gcMain.DataSource = dataSet.Tables[0]; @@ -3875,7 +3875,7 @@ namespace Lskj.Control /// /// /// - private void TreeListObj_CustomDrawNodeIndicator(object sender, CustomDrawNodeIndicatorEventArgs e) + private void TreeListObj_CustomDrawNodeIndicator(object sender, CustomDrawNodeIndicatorEventArgs e) { try {