/// <summary>
/// 上移
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsbMoveUp_Click(object sender, EventArgs e)
{
if (Tv_tree.SelectedNode == null)
{
MessageBox.Show("請選擇需要移動的的節點!");
this.Focus();
return;
}
folder model = new folder();
TreeNode node = Tv_tree.SelectedNode; //獲得選中節點的值
model.folderId = node.Tag.ToString();
model.TheOrder = node.Name.ToString();
if (node.PrevNode == null) //選中節點的上一個節點為Null則返回
{
return;
}
folder upModel = new folder();
TreeNode upNode = node.PrevNode; //獲得選中節點的上一個節點
upModel.folderId = upNode.Tag.ToString();
upModel.TheOrder = upNode.Name;
bool flag = folderOperation.MoveUp(model, upModel); //將兩個節點的排序編號互換
if (flag) //如果執行成功
{
string theOrder = node.Name;
node.Name = upNode.Name;
upNode.Name = theOrder;
TreeNode newNode = (TreeNode)node.Clone(); //克隆選中的節點
if (node.Parent == null)
{
Tv_tree.Nodes.Insert(upNode.Index, newNode); //在選中節點的上一個節點的地方插入本節點
}
else
{
node.Parent.Nodes.Insert(upNode.Index, newNode);
}
node.Remove();
Tv_tree.SelectedNode = newNode;
}
else
{
return;
}
}
/// <summary>
/// 下移
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsbMoveDown_Click(object sender, EventArgs e)
{
if (Tv_tree.SelectedNode == null)
{
MessageBox.Show("請選擇需要移動的的節點!");
this.Focus();
return;
}
folder model = new folder();
TreeNode node = Tv_tree.SelectedNode; //選中的節點
model.folderId = node.Tag.ToString();
model.TheOrder = node.Name.ToString();
if (node.NextNode == null) //下一個節點為Null時返回
{
return;
}
folder downModel = new folder();
TreeNode dowNode = node.NextNode;
downModel.folderId = dowNode.Tag.ToString();
downModel.TheOrder = dowNode.Name;
bool flag = folderOperation.MoveUp(model, downModel);
if (flag)
{
string theOrder = node.Name;
node.Name = dowNode.Name;
dowNode.Name = theOrder;
TreeNode newNode = (TreeNode)dowNode.Clone(); //克隆下一個節點及其所有的子節點
if (node.Parent == null)
{
Tv_tree.Nodes.Insert(node.Index, newNode); //在原節點的位置插入下一個節點的值
}
else
{
node.Parent.Nodes.Insert(node.Index, newNode);
}
dowNode.Remove(); //刪除掉選中節點的下一個節點
Tv_tree.SelectedNode = node; //重新選中
}
else
{
return;
}
}
string sql = string.Format("update folder set theorder = '{0}' where folderid = '{1}'", model.TheOrder, upModel.folderId);
string sql1 = string.Format("update folder set theorder = '{0}' where folderid = '{1}'", upModel.TheOrder, model.folderId);