您的位置:首页 > 其它

TreeView节点上移下移排序

2009-05-22 18:21 465 查看
/// <summary>

/// 选中节点上移方法

/// </summary>

/// <param name="node"></param>

private void SetTreeNodeUp(TreeNode node)

{

if ((node == null) || (node.PrevNode) == null)

return;

TreeNode newNode = (TreeNode)node.Clone();

//数据表的移动

if (node.Level == 1)

{

object[] _rowData = SearchParentDataTable.Rows[node.Index].ItemArray;

SearchParentDataTable.Rows[node.Index].ItemArray = SearchParentDataTable.Rows[node.Index - 1].ItemArray;

SearchParentDataTable.Rows[node.Index - 1].ItemArray = _rowData;

}

if (node.Level == 2)

{

DataTable dt = new DataTable();

dt = (DataTable)SearchChildDataTableArr[node.Parent.Index];

object[] _rowData = dt.Rows[node.Index].ItemArray;

dt.Rows[node.Index].ItemArray = dt.Rows[node.Index - 1].ItemArray;

dt.Rows[node.Index - 1].ItemArray = _rowData;

}

//节点的移动

if (node.PrevNode.PrevNode != null)

{

if (node.Parent != null)

node.Parent.Nodes.Insert(node.PrevNode.Index , newNode);

else

node.TreeView.Nodes.Insert(node.PrevNode.Index, newNode);

}

else

if (node.Parent != null)

node.Parent.Nodes.Insert(node.PrevNode.Index, newNode);

else

node.TreeView.Nodes.Insert(node.PrevNode.Index, newNode);

node.TreeView.SelectedNode = newNode;

node.TreeView.Nodes.Remove(node);

}

/// <summary>

/// 选中节点下移方法

/// </summary>

/// <param name="node"></param>

private void SetTreeNodeDown(TreeNode node)

{

if ((node == null) || (node.NextNode) == null) return;

TreeNode newNode = (TreeNode)node.Clone();

//数据表的移动

if (node.Level == 1)

{

object[] _rowData = SearchParentDataTable.Rows[node.Index].ItemArray;

SearchParentDataTable.Rows[node.Index].ItemArray = SearchParentDataTable.Rows[node.Index + 1].ItemArray;

SearchParentDataTable.Rows[node.Index + 1].ItemArray = _rowData;

}

if (node.Level == 2)

{

DataTable dt = new DataTable();

dt = (DataTable)SearchChildDataTableArr[node.Parent.Index];

object[] _rowData = dt.Rows[node.Index].ItemArray;

dt.Rows[node.Index].ItemArray = dt.Rows[node.Index + 1].ItemArray;

dt.Rows[node.Index + 1].ItemArray = _rowData;

}

//节点的移动

if (node.NextNode.NextNode != null)

{

if (node.Parent != null)

node.Parent.Nodes.Insert(node.NextNode.NextNode.Index, newNode);

else

node.TreeView.Nodes.Insert(node.NextNode.NextNode.Index, newNode);

}

else

if (node.Parent != null)

node.Parent.Nodes.Add(newNode);

else

node.TreeView.Nodes.Add(newNode);

node.TreeView.SelectedNode = newNode;

node.TreeView.Nodes.Remove(node);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: