SVN r256
SVN-Revision: r256
This commit is contained in:
@@ -122,7 +122,7 @@ namespace Lskj.Control
|
||||
lengthLimitation = int.Parse(TreeNodeLength);
|
||||
treeTable = treeTable.Rows.Cast<DataRow>().Where(y => !string.IsNullOrEmpty(y[TreeNodeKeyField] + "") && (y[TreeNodeKeyField] + "").Length <= lengthLimitation).OrderBy(x => x[TreeNodeKeyField]).CopyToDataTable();
|
||||
}
|
||||
|
||||
Dictionary<string, List<TreeNode>> nodesDic = new Dictionary<string, List<TreeNode>>();
|
||||
for (int i = 0; i < treeTable.Rows.Count; i++)
|
||||
{
|
||||
DataRow dr = treeTable.Rows[i];
|
||||
@@ -131,53 +131,97 @@ namespace Lskj.Control
|
||||
|
||||
if (SystemInfo.Instance.TreeSpecialBinding && treeTable.Columns.Contains("pid"))
|
||||
{
|
||||
string pKey = dr["pid"]+"";
|
||||
string pKey = dr["pid"] + "";
|
||||
//pKey = pKey.Substring(0, pKey.Length - 1);
|
||||
TreeNode[] nodes = tvMain.Nodes.Find(pKey, true);
|
||||
if (nodes.Count() > 0)
|
||||
{
|
||||
TreeNode tNode = nodes[0].Nodes.Add(tnKey, tnStr);
|
||||
if (nodesDic.ContainsKey(tnKey))
|
||||
{
|
||||
List<TreeNode> childNodesList = nodesDic[tnKey];
|
||||
childNodesList.Add(tNode);
|
||||
}
|
||||
else
|
||||
{
|
||||
List<TreeNode> childNodesList = new List<TreeNode>();
|
||||
childNodesList.Add(tNode);
|
||||
nodesDic.Add(tnKey, childNodesList);
|
||||
}
|
||||
tNode.Tag = tnKey;
|
||||
}
|
||||
else
|
||||
{
|
||||
TreeNode tNode = this.TreeView.Nodes.Add(tnKey, tnStr);
|
||||
if (!nodesDic.ContainsKey(tnKey))
|
||||
{
|
||||
nodesDic.Add(tnKey, new List<TreeNode>());
|
||||
}
|
||||
tNode.Tag = tnKey;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if (tnKey.Length >= TreeDigit * 2)
|
||||
{
|
||||
string pKey = tnKey.Substring(0, tnKey.Length - TreeDigit);
|
||||
//List<TreeNode> nodes = nodesDic.ContainsKey(pKey) ? nodesDic[pKey] : new List<TreeNode>();
|
||||
TreeNode[] nodes = tvMain.Nodes.Find(pKey, true);
|
||||
if (nodes.Count() > 0)
|
||||
{
|
||||
TreeNode tNode = nodes[0].Nodes.Add(tnKey, tnStr);
|
||||
if (nodesDic.ContainsKey(tnKey))
|
||||
{
|
||||
List<TreeNode> childNodesList = nodesDic[tnKey];
|
||||
childNodesList.Add(tNode);
|
||||
}
|
||||
else
|
||||
{
|
||||
List<TreeNode> childNodesList = new List<TreeNode>();
|
||||
childNodesList.Add(tNode);
|
||||
nodesDic.Add(tnKey, childNodesList);
|
||||
}
|
||||
tNode.Tag = tnKey;
|
||||
}
|
||||
else
|
||||
{
|
||||
TreeNode tNode = this.TreeView.Nodes.Add(tnKey, tnStr);
|
||||
if (nodesDic.ContainsKey(tnKey))
|
||||
{
|
||||
List<TreeNode> childNodesList = nodesDic[tnKey];
|
||||
childNodesList.Add(tNode);
|
||||
}
|
||||
else
|
||||
{
|
||||
List<TreeNode> childNodesList = new List<TreeNode>();
|
||||
childNodesList.Add(tNode);
|
||||
nodesDic.Add(tnKey, childNodesList);
|
||||
}
|
||||
tNode.Tag = tnKey;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
TreeNode node = tvMain.Nodes.Add(tnKey, tnStr);
|
||||
if (nodesDic.ContainsKey(tnKey))
|
||||
{
|
||||
List<TreeNode> childNodesList = nodesDic[tnKey];
|
||||
childNodesList.Add(node);
|
||||
}
|
||||
else
|
||||
{
|
||||
List<TreeNode> childNodesList = new List<TreeNode>();
|
||||
childNodesList.Add(node);
|
||||
nodesDic.Add(tnKey, childNodesList);
|
||||
}
|
||||
node.Tag = tnKey;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(TreeNodeLength))
|
||||
{
|
||||
treeTable = treeTableNew.Copy();
|
||||
treeTable = treeTable.Rows.Cast<DataRow>().Where(y => !string.IsNullOrEmpty(y[TreeNodeKeyField] + "") && (y[TreeNodeKeyField] + "").Length > lengthLimitation).OrderBy(x => x[sort]).CopyToDataTable();
|
||||
|
||||
for (int i = 0; i < treeTable.Rows.Count; i++)
|
||||
{
|
||||
DataRow dr = treeTable.Rows[i];
|
||||
@@ -185,7 +229,6 @@ namespace Lskj.Control
|
||||
string tnStr = dr[TreeNodeTextField] + "";
|
||||
string tnKeyNew = tnKey.Substring(0, lengthLimitation);
|
||||
string sortValue = dr[sort] + "";
|
||||
|
||||
if (!sortValue.Contains("-"))
|
||||
{
|
||||
//没有包含 - ,直接加入指定位数的节点中
|
||||
@@ -193,14 +236,28 @@ namespace Lskj.Control
|
||||
if (nodes.Count() > 0)
|
||||
{
|
||||
TreeNode tNode = nodes[0].Nodes.Add(tnKey, tnStr);
|
||||
if (nodesDic.ContainsKey(tnKey))
|
||||
{
|
||||
List<TreeNode> childNodesList = nodesDic[tnKey];
|
||||
childNodesList.Add(tNode);
|
||||
}
|
||||
else
|
||||
{
|
||||
List<TreeNode> childNodesList = new List<TreeNode>();
|
||||
childNodesList.Add(tNode);
|
||||
nodesDic.Add(tnKey, childNodesList);
|
||||
}
|
||||
tNode.Tag = tnKey;
|
||||
}
|
||||
else
|
||||
{
|
||||
TreeNode tNode = this.TreeView.Nodes.Add(tnKey, tnStr);
|
||||
if (!nodesDic.ContainsKey(tnKey))
|
||||
{
|
||||
nodesDic.Add(tnKey, new List<TreeNode>());
|
||||
}
|
||||
tNode.Tag = tnKey;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -215,30 +272,35 @@ namespace Lskj.Control
|
||||
if (nodes.Count() > 0)
|
||||
{
|
||||
TreeNode tNode = nodes[0].Nodes.Add(tnKey, tnStr);
|
||||
if (nodesDic.ContainsKey(tnKey))
|
||||
{
|
||||
List<TreeNode> childNodesList = nodesDic[tnKey];
|
||||
childNodesList.Add(tNode);
|
||||
}
|
||||
else
|
||||
{
|
||||
List<TreeNode> childNodesList = new List<TreeNode>();
|
||||
childNodesList.Add(tNode);
|
||||
nodesDic.Add(tnKey, childNodesList);
|
||||
}
|
||||
tNode.Tag = tnKey;
|
||||
}
|
||||
else
|
||||
{
|
||||
TreeNode tNode = this.TreeView.Nodes.Add(tnKey, tnStr);
|
||||
if (!nodesDic.ContainsKey(tnKey))
|
||||
{
|
||||
nodesDic.Add(tnKey, new List<TreeNode>());
|
||||
}
|
||||
tNode.Tag = tnKey;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//TreeNode[] nodes = tvMain.Nodes.Find(tnKeyNew, true);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
this.tvMain.EndUpdate();
|
||||
|
||||
// 默认展开第一个节点
|
||||
if (this.tvMain.Nodes.Count > 0)
|
||||
this.tvMain.Nodes[0].Expand();
|
||||
@@ -445,7 +507,7 @@ namespace Lskj.Control
|
||||
tNode.Tag = tnKey;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if (tnKey.Length > SpecNoLen)
|
||||
{
|
||||
@@ -1001,41 +1063,4 @@ namespace Lskj.Control
|
||||
if (node.Parent != null)
|
||||
{
|
||||
node.Expand();
|
||||
ExpandNode(node.Parent);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//获得符合条件的节点
|
||||
private void SearchLayernew(TreeNode node, string name)
|
||||
{
|
||||
//node.BackColor = Color.White;
|
||||
//node.ForeColor = Color.Black;
|
||||
if (string.Equals(node.Text, name) || node.Text.Contains(name))
|
||||
{
|
||||
searchtreeNodes.Add(node);
|
||||
}
|
||||
if (node.Nodes.Count != 0)
|
||||
{
|
||||
for (int i = 0; i < node.Nodes.Count; i++)
|
||||
{
|
||||
SearchLayernew(node.Nodes[i], name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 搜索框回车事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void txt_Key_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
{
|
||||
BtnSearch_Click(null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ExpandNode(
|
||||
Reference in New Issue
Block a user