TreeView 增删改使用记录

     #region  treeView
        private void ShowTreeView()
        {
            treeView_Sel2.Nodes.Clear();         
            AddTree();
            treeView_Sel2.ExpandAll();           
        }
        public void AddTree()
        {
            IFindInfo infoCom = new FindInfoBase();
            infoCom.FindText = "所属角色组";
            infoCom.ScopeName = ScopeName.查询状态.ToString();
            _findInfos.ResetInfo(infoCom);

            roleGroupTable = dbWorker.FindItem<DaCamsUserBase.QX_RoleGroupDataTable>(_findInfos);
            DataView dvTree = new DataView(roleGroupTable);
            dvTree.RowFilter = "RoleGroup_PID =0 ";
            foreach (DataRowView Rowp in dvTree)
            {
                TreeNode NodeP = new TreeNode();
                //添加当前节点的子节点
                NodeP.Name = Rowp["RoleGroup_ID"].ToString();
                NodeP.Text = Rowp["RoleGroupDesc"].ToString();
                treeView_Sel2.Nodes.Add(NodeP);
                dvTree.RowFilter = "RoleGroup_PID =" + Rowp["RoleGroup_ID"];
                AddTreeChi(NodeP, dvTree);
            }
        }

        public void AddTreeChi(TreeNode NodeP, DataView dvTree)
        {
            foreach (DataRowView Rowc in dvTree)
            {
                TreeNode Nodec = new TreeNode();
                //添加当前节点的子节点
                NodeP.Name = Rowc["RoleGroup_ID"].ToString();
                NodeP.Tag = Rowc["RoleGroup_ID"].ToString();
                Nodec.Text = Rowc["RoleGroupDesc"].ToString();
                NodeP.Nodes.Add(Nodec);
                dvTree.RowFilter = "RoleGroup_PID =" + Rowc["RoleGroup_ID"];
                AddTreeChi(Nodec, dvTree);
            }
        }

        private void BuildPopupMenu_Tree()
        {
            #region
            ContextMenuStrip menuStrip_Edition = new ContextMenuStrip();
            if (CurrentJobName != JobNameEnum.产品资料查看.ToString())
            {
                //Item:新增行
                ToolStripMenuItem menuItemNewRow = new System.Windows.Forms.ToolStripMenuItem();
                menuItemNewRow.Text = "新增行";
                menuItemNewRow.Click += new EventHandler(TreeListAddNew);
                menuStrip_Edition.Items.Add(menuItemNewRow);

                //Item:删除行
                ToolStripMenuItem menuItemDelRow = new System.Windows.Forms.ToolStripMenuItem();
                menuItemDelRow.Text = "删除行";
                menuItemDelRow.Click += new EventHandler(TreeListDeleteRow);
                menuStrip_Edition.Items.Add(menuItemDelRow);


            }
            treeView_Sel2.ContextMenuStrip = menuStrip_Edition;

            #endregion


        }
        // 通过Click事件,新增行
        private void TreeListAddNew(object sender, EventArgs e)
        {
            try
            {
                TreeNode node = treeView_Sel2.SelectedNode;
                DaCamsUserBase.QX_RoleGroupRow row = roleGroupTable.NewQX_RoleGroupRow();
                TreeNode nodec = new TreeNode();
                if (node != null)
                {
                    if (node.Parent == null)
                    {
                        treeView_Sel2.Nodes.Add(nodec);
                    }
                    else
                    {
                        node.Nodes.Add(nodec);
                    }
                    row["RoleGroup_PID"] = node.Name;
                    row["RoleGroupDesc"] = nodec.Text;
                    roleGroupTable.Rows.Add(row);
                    nodec.BeginEdit();

                }
            }
            catch  { }
        }

        //通过Click事件,删除行   

        private void TreeListDeleteRow(object sender, EventArgs e)
        {
            try
            {
                TreeNode node = treeView_Sel2.SelectedNode;
                if (node != null)
                {
                    treeView_Sel2.Nodes.Remove(node);
                    string sql = "RoleGroupDesc=" +"'"+ node.Text+"'";
                    DataRow[] row = roleGroupTable.Select(sql);
                    row[0].Delete();
                }
            }
            catch { }
        }

        private void treeView_Sel2_AfterSelect(object sender, TreeViewEventArgs e)
        {
            IFindInfo info = new FindInfoBase();
            info.FindText = e.Node.Text.ToString();
            info.ScopeName = ScopeName.ENAME.ToString();
            _findInfos.ResetInfo(info);
            IFindInfo info1 = new FindInfoBase();
            info1.FindText = "角色查询2";
            info1.ScopeName = ScopeName.查询状态.ToString();
            _findInfos.ResetInfo(info1);
            DoFind1();
        }

        private void treeView_Sel2_Leave(object sender, EventArgs e)
        {
            if (DoRoleGroup())
            {
                ShowTreeView();
            }
        }

        private void treeView_Sel2_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            e.Node.BeginEdit();
        }
        string nodeName = "";
        private void treeView_Sel2_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e)
        {
            nodeName = e.Node.Text;
        }
        private void treeView_Sel2_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
        {
            try
            {
                if (nodeName == null || nodeName == "" || nodeName.Trim().Length == 0)
                {
                    e.Node.Text = e.Label;
                    string sql = "RoleGroupDesc =''";
                    DataRow row = getEditRow(sql, e);
                    row.AcceptChanges();
                    row.SetAdded();
                }
                else
                {
                    string sql = "RoleGroupDesc =" + "'" + nodeName + "'";
                    getEditRow(sql, e);
                }

            }
            catch { }
        }
        /// <summary>
        /// 设置编辑过的row 的值
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="e"></param>
        protected DataRow getEditRow(string sql, NodeLabelEditEventArgs e)
        {
            DataRow[] rows = roleGroupTable.Select(sql);
            if (rows != null)
            {
                rows[0]["RoleGroupDesc"] = e.Label;
            }
            return rows[0];
        }


        #endregion

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值