『原创』C#中TreeView类操作全攻略:建立树,新增节点,删除节点,修改节点,拖动节点,与Oracle数据库交互操作(一)(30) TreeNode tempNode= new TreeNode (); trv_Function.Nodes.Remove(moveNode); if (aimNode ==null) { trv_Function.Nodes.Insert(trv_Function.Nodes.Count,moveNode); } else { aimNode.Nodes.Add(moveNode); }
//更新funcDataTable DataView mydataview = new DataView (); mydataview.Table= funcDataTable; mydataview.RowFilter= "功能ID="+ moveNode.Tag.ToString()+""; //保存要移动的节点的新的父节点ID; string moveNodeFatherID="0"; foreach ( DataRowView editRow in mydataview) { if (aimNode==null) { //如果是根节点 moveNodeFatherID="0"; } else { moveNodeFatherID=aimNode.Tag.ToString(); } editRow["上级功能ID"]=moveNodeFatherID; } //聚焦到要移动的节点上 trv_Function.SelectedNode=moveNode;
//更新数据库中的功能表:改变移动节点的父节点字段为新的父节点 funcTableConn.Open(); System.Data.OracleClient.OracleTransaction myTran = funcTableConn.BeginTransaction (); try { OracleCommand cmd = new OracleCommand (); cmd.CommandText ="UPDATE 功能 set 上级功能ID='"+moveNodeFatherID +"' where 功能ID = '"+moveNode.Tag.ToString()+"'";