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);
}
/// 选中节点上移方法
/// </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);
}
相关文章推荐
- C#上移,下移TreeView中的树节点顺序
- C#上移,下移TreeView中的树节点顺序
- 在TreeView节点“上移”“下移”
- 在TreeView节点“上移”“下移”
- table 上移 下移 保存时 获取每行中的值 将排序记录保存到数据库
- 表格操作类(添加,删除,排序,上移,下移)
- mysql选择上一条、下一条数据记录,排序上移、下移、置顶
- 表格操作类(添加,删除,排序,上移,下移)
- EXT 中tree中节点的上移与下移
- 发个自己写的表格操作类(添加,删除,排序,上移,下移)
- 【转】排序TreeView的节点
- TreeView节点的增,删,排序
- C#关于如何给数据排序,置顶,上移,下移,置尾
- TdxDBTreeView的节点移动排序
- 通用的排序的上移下移功能
- EXT 中tree中节点的上移与下移
- 排序,上移,下移
- Ext.Net 1.x_Ext.Net.Grid拖动行排序,【最上】【最下】【上移】【下移】按钮排序
- ASP.Net中的TreeView控件中对节点的上移和下移操作
- 用JavaScript对GridView进行上移下移,保存排序