当前位置:网站首页>Use treeview tree menu bar (recursively call database to create menu automatically)
Use treeview tree menu bar (recursively call database to create menu automatically)
2020-11-09 12:12:00 【Irving the procedural ape】
When doing industrial control PC project , When the project is too big , There are a lot of subdivision processes , The number of pages that need to be managed will also increase a lot , You can use .NET Control TreeView Page switch management , And realize TreeView Between the mutual switch .Intouch and Wonderware You can import and use TreeView Control .
One 、 Use VS Development TreeView Control
Create a control project solution
Drag one TreeView Control , You can simply edit nodes

Tag It's data that needs to be passed out

Two 、 What happened
At the end of the project , The other party will put forward a lot of improvement needs , At this point, if there are too many TreeView Control , Every time we improve , For the upper computer system, it needs to import again , There's too much repetition , Too complicated .
Solution : Create menu table in database , The menu bar is automatically generated when the project is running
3、 ... and 、 Create database
Create database tables ,MenuId It's the menu number ,MenuName by TreeView The name of the page displayed ,MenuCode by Tag,ParentId This node is the root of the node

Four 、 Write code and generate it automatically
According to the two-tier architecture

Entity class TreeViewNode
1 public class TreeViewNode 2 { 3 public int MenuId { get; set; } 4 5 public string MenuName { get; set; } 6 7 public string MenuCode { get; set; } 8 9 public string ParentId { get; set; }10 }
Service layer :MenuService
1 /// <summary> 2 /// Get all the menu items 3 /// </summary> 4 /// <returns></returns> 5 public List<TreeViewNode> GetAllMenu() 6 { 7 string sql = "select MenuId,MenuName,MenuCode,ParentId from MenuList"; 8 List<TreeViewNode> nodeList = new List<TreeViewNode>(); 9 SqlDataReader objRead = SQLHelper.GetReader(sql);10 while (objRead.Read())11 {12 nodeList.Add(new TreeViewNode()13 {14 MenuId = Convert.ToInt32(objRead["MenuId"]),15 MenuName = objRead["MenuName"].ToString(),16 MenuCode = objRead["MenuCode"].ToString(),17 ParentId = objRead["ParentId"].ToString()18 });19 }20 objRead.Close();21 return nodeList;22 }
TreeViewMenu Control :
1 public partial class TreeViewMenu: UserControl 2 { 3 public TreeViewMenu() 4 { 5 InitializeComponent(); 6 Lo.........
版权声明
本文为[Irving the procedural ape]所创,转载请带上原文链接,感谢
边栏推荐
- SQL Chapter 2 Chapter 3
- Front end code style practice prettier + eslint + git hook + lint staged
- Source code analysis of ThinkPHP framework execution process
- A simple way to realize terminal text paste board
- Nine kinds of distributed primary key ID generation schemes of sub database and sub table are quite comprehensive
- AndroidStudio导入定制化的framework classess.jar AS 4.0.1版本亲测有效
- vscode 插件配置指北
- Introduction to zero based im development (4): what is message timing consistency in IM systems?
- 利用 Python 一键下载网易云音乐 10W+ 乐库
- Wealth and freedom? Ant financial services suspended listing, valuation or decline after regulation
猜你喜欢

真正拖垮你的,是沉没成本

开源ERP招聘了

In the future, China Telecom will make cloud computing service the main business of China Telecom

Fedora 33 Workstation 的新功能

Configure switch trunk interface traffic local priority forwarding (cluster / stack)

Is SEO right or wrong?

使用CopyMemory API出现 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

Understanding runloop in OC

手写Koa.js源码

Handwriting Koa.js Source code
随机推荐
Tidb x micro banking reduces time consumption by 58%, and distributed architecture helps to realize inclusive finance
未来中国电信将把云计算服务打造成为中国电信的主业
Using stream to read and write files to process large files
注意.NET Core进行请求转发问题
分库分表的 9种分布式主键ID 生成方案,挺全乎的
iPhone“连到系统上的设备没有发挥作用”原因分析及解决方法 20200105
JVM学习(四)-垃圾回收器和内存分配
List of wechat video Number broadcasters October 2020
嗯,查询滑动窗口最大值的这4种方法不错....
Reading design patterns adapter patterns
20201107第16课,使用Apache服务部署静态网站;使用Vsftpd服务传输文件
Depth analysis based on synchronized lock
使用CopyMemory API出现 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
“开源软件供应链点亮计划 - 暑期 2020”公布结果 基于 ChubaoFS 开发的项目获得最佳质量奖
JVM学习(六)-内存模型和线程
Complete set of linked list operations of data structure and algorithm series (3) (go)
Android NDK 开发实战 - 微信公众号二维码检测
Mac terminal oh my Zsh + solarized configuration
Nine kinds of distributed primary key ID generation schemes of sub database and sub table are quite comprehensive
Well, the four ways to query the maximum value of sliding window are good