C# sqlite开发桌面工具- 树形布局-宝典开发助手贴身代码专家

2022/2/13 19:45:02

本文主要是介绍C# sqlite开发桌面工具- 树形布局-宝典开发助手贴身代码专家,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

C#开发宝典:开发的好助手,代码随处可以查询,日常数据库维护技巧、开发技巧、项目实战;

 

适合有一定基础的人员查看和使用,迅速提升1-2年开发经验和运维经验。

 

  • 致开发者的话
  • 初级教程
  • 中级教程
  • 高级教程
  • 数据库教程
  • 大数据开发教程
  • 项目开发实战
  • 运维工程师教程

 

我们经常遇到这样的问题,总是要搜索代码模块,很多没用过,又不系统,然后每个代码模块自己又要写代码研究很久才能集成到项目中;自己会一部分开发,然后对运维可能又不是很了解?

这里笔者把自己遇到的包括开发、运维、项目实战的一些案例作为分享,采用拿来即用的理念,让开发更为便捷,常用算法、常用帮助类,常用组件,每个例子实例化展示,可以独立运行,便于开发者调试;


窗体加载事件:
   private void MainWindow_Load(object sender, EventArgs e)
        {
            //Test();
            this.Text =  GlobalWebFunction._appVerSion;
            RefreshTreeView();


            try
            {
                CheckSummary();//检查更新

            }
            catch (Exception ex)
            {

                MessageDxUtil.ShowTips(ex.Message);
            }
        }

 


采用树形的设计
代码如下:使用递归

 1  List<ad_dictionary> _othersList = new List<ad_dictionary>();//所有的节点
      
      //加载树形
 2         private void RefreshTreeView()
 3         {
 4             treeView1.Nodes.Clear();
 5             treeView1.BeginUpdate();
 6             Cursor.Current = Cursors.WaitCursor;
 7 
 8             var allList = DAL.DicManageLogic.GetChapterList();
 9 
10             List<ad_dictionary> firstGroup = allList.Where(p => p.Parentid == "0").ToList();
11             //除了根目录的子节点
12             _othersList = allList.Where(p => p.Parentid != "0").ToList();
13             foreach (var groupInfo in firstGroup)
14             {
15                 //不显示删除的机构
16                 if (groupInfo != null && groupInfo.IsDeleted == "1")
17                 {
18                     TreeNode topnode = new TreeNode();
19                     topnode.Text = groupInfo.Name;
20                     topnode.Name = groupInfo.Id.ToString();
21                     topnode.Tag = groupInfo.Id;
22                     topnode.ImageIndex = 0;
23                     topnode.SelectedImageIndex = 0;
24                     this.treeView1.Nodes.Add(topnode);
25 
26                     //二级
27                     var subItemList = _othersList.Where(p => p.Parentid == groupInfo.Id).ToList();
28                     //List<ad_dictionary> sublist = DicManage.GetTreeByID(secondList, groupInfo.Id);
29                     AddOUNode(subItemList, topnode);
30 
31                 }
32             }
33 
34             Cursor.Current = Cursors.Default;
35             treeView1.EndUpdate();
36             this.treeView1.ExpandAll();
37         }

        //递归加载
38         private void AddOUNode(List<ad_dictionary> list, TreeNode parentNode)
39         {
40             foreach (var ouInfo in list)
41             {
42                 TreeNode ouNode = new TreeNode();
43                 ouNode.Text = ouInfo.Name;
44                 ouNode.Name = ouInfo.Id.ToString();
45                 ouNode.Tag = ouInfo.Id;
46                 if (ouInfo.IsDeleted == "0")
47                 {
48                     ouNode.ForeColor = Color.Red;
49                     continue;//跳过不显示
50                 }
51           
52             
53                 var subItemList = _othersList.Where(p => p.Parentid == ouInfo.Id).ToList();
54                 if (subItemList.Count == 0)
55                 {
56                     //没有子节点了,不使用图标
57                     ouNode.ImageIndex = -999;
58                 }
59                 else
60                 {
61                     ouNode.ImageIndex = 0;
62                     ouNode.ImageIndex = 0;
63                     ouNode.SelectedImageIndex = 0;
64                 }
65 
66                 parentNode.Nodes.Add(ouNode);
67 
68                 AddOUNode(subItemList, ouNode);
69             }
70         }

 

主要包括以下模块内容,每月更新1-2次
@初级教程:基础语法的部分核心讲解
@高级教程:全文搜索、短信、日志系统、qq登录
@中级教程:ORM框架讲解、文字转语音工具、二维码扫描工具源码解析;
@数据库教程:sqserver\sqlite\mysql的常见运维、数据库备份、表备份、日常简单统计等、与C#的批量交互、导入导出数据、数据转换
@大数据开发教程:solr7.2的项目讲解、solr .net的使用、solr j的使用、lucene的使用 
@项目开发实战:五金网、驾校预约系统、小区停车收费系统等讲解
@运维工程师教程:windows服务器的日常部署:win2003\2008\2012\2016等多个版本演示安装,iis搭建网站;
sql2000\2008\2012等数据库安装;Linux(centos、ubuntu)、阿里云服务器的搭建、域名解析,备案操作;


数据库设计如下:
CREATE TABLE dbo.ad_dictionary
(
Id BIGINT NOT NULL,
TenantId BIGINT,
Parentid BIGINT,
Name NVARCHAR (100),
Code NVARCHAR (100),
Description NVARCHAR (max),
Enabled INT,
Sort INT,
IsDeleted INT,
CreatedTime DATETIME2 (0),
PRIMARY KEY (Id)
)
GO

 

 

 

 

 

 


 


以下是部分预览图

 

 

 

 

软件运行界面参考

 

 

 

 使用sqlite开发,树形导航菜单。欢迎探讨运维、C#开发等领域技术。

测试连接






这篇关于C# sqlite开发桌面工具- 树形布局-宝典开发助手贴身代码专家的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程