博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
winform创建树形菜单的无限级分类
阅读量:6714 次
发布时间:2019-06-25

本文共 3555 字,大约阅读时间需要 11 分钟。

tvType:treeview控件

contextMenuStrip1:右键菜单s

ContractedBlock.gif
ExpandedBlockStart.gif
View Code
#region 创建树形菜单 ///  /// 描述:创建树形菜单 ///          public void AddTree(int ParentID, TreeNode pNode)         {
DataTable dt = typeManager.GetAllList().Tables[0]; DataView dvTree = new DataView(dt); //过滤ParentID,得到当前的所有子节点 dvTree.RowFilter = "ComType_ParentID = " + ParentID; foreach (DataRowView Row in dvTree) {
TreeNode Node = new TreeNode(); if (pNode == null) { //添加根节点 Node.Text = Row["CommodityTypeName"].ToString(); Node.Name = Row["CommodityTypeName"].ToString(); Node.Tag = Row["CommodityTypeID"].ToString(); this.tvType.Nodes.Add(Node); //Node.Expanded = true; AddTree(Int32.Parse(Row["CommodityTypeID"].ToString()), Node); //再次递归 } else { //添加当前节点的子节点 Node.Text = Row["CommodityTypeName"].ToString(); Node.Name = Row["CommodityTypeName"].ToString(); Node.Tag = Row["CommodityTypeID"].ToString(); pNode.Nodes.Add(Node); //Node.Expanded = true; AddTree(Int32.Parse(Row["CommodityTypeID"].ToString()), Node); //再次递归 } } } #endregion #region 主窗体加载 /// /// 主窗体加载 /// /// /// private void CommodityForm_Load(object sender, EventArgs e) {
this.tvType.Nodes.Clear(); AddTree(0, (TreeNode)null); } #endregion #region treeview操作 /// /// 新增同级 /// /// /// private void 新增同级ToolStripMenuItem_Click(object sender, EventArgs e) {
AddPeerType aptForm = new AddPeerType(); DialogResult d = aptForm.ShowDialog(); if (d == DialogResult.OK) {
Emp.tagComType = "1"; Emp.parentTagComType = "0"; this.tvType.Nodes.Clear(); AddTree(0, (TreeNode)null); } } /// /// 新增下一级 /// /// /// private void 新增下一级ToolStripMenuItem_Click(object sender, EventArgs e) {
AddLowerType altForm = new AddLowerType(); DialogResult d = altForm.ShowDialog(); if (d == DialogResult.OK) {
Emp.tagComType = "1"; Emp.parentTagComType = "0"; this.tvType.Nodes.Clear(); AddTree(0, (TreeNode)null); } } /// /// 单击树上一个节点事件 /// /// /// private void tvType_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) {
if (e.Node.Text != "所有商品") {
删除类别ToolStripMenuItem.Enabled = true; 新增同级ToolStripMenuItem.Enabled = true; 修改类别ToolStripMenuItem.Enabled = true; if (this.tvType.SelectedNode != null) {
util.Emp.tagComType = this.tvType.SelectedNode.Tag.ToString(); if (this.tvType.SelectedNode.Parent != null) {
util.Emp.parentTagComType = this.tvType.SelectedNode.Parent.Tag.ToString(); } } } else {
Emp.tagComType = "1"; Emp.parentTagComType = "0"; 删除类别ToolStripMenuItem.Enabled = false; 新增同级ToolStripMenuItem.Enabled = false; 修改类别ToolStripMenuItem.Enabled = false; } } #endregion

  

  

转载于:https://www.cnblogs.com/wowait2/archive/2011/08/01/2123948.html

你可能感兴趣的文章
pear默认安装后一个小bug
查看>>
nginx-通过Nginx统计当前每个域名流量
查看>>
OpenSSL学习(二十五):基础-指令x509
查看>>
sql server随机函数
查看>>
WinAircrackPack 破解你邻居家的无线WIFI密码
查看>>
自定义格式化字符串
查看>>
bgp发布路由对端无法收到,原因是使用默认网段
查看>>
JQuery实现简单的服务器轮询效果
查看>>
幽灵漏洞(GHOST)影响大量Linux操作系统及其发行版(更新修复方案)
查看>>
Sunday算法
查看>>
netstat
查看>>
优朋普乐:OTT正重构电视版图
查看>>
遇到"process launch failed: Security"问题,解决的一种方法
查看>>
Ubuntu 14.04 LTC 有线网络——网线不识别,灯不亮问题
查看>>
Unity3D DLL加密
查看>>
求数组中最长递增子序列
查看>>
Spring Boot cache backed redis
查看>>
有趣的编程----控制自己电脑的CPU
查看>>
linux的目录结构
查看>>
Java中创建对象的5种不同方法
查看>>