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
{