博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
街道管理
阅读量:6442 次
发布时间:2019-06-23

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

写一个小程序

具体效果如下

第一步建类

Aderss类

public class Address   {       private string street;//街道       private string jwh;//居委会       private string floornum;//楼号          public string Street       {           get { return street; }           set { street = value; }       }       public string Jwh       {           get { return jwh; }           set { jwh = value; }       }       public string Floornum       {           get { return floornum; }           set { floornum = value; }       }         }

Commom类(主要用于解析XML文件)

public class Common    {        //解析XML文件,并且将解析的Xml文件内容加载到集合中      //public   List
list=new List
(); key: public Dictionary
list=new Dictionary
(); public void ReadDataFromXML() { XmlDocument doc=new XmlDocument(); doc.Load("Address.xml"); XmlNode root = doc.DocumentElement; foreach (XmlNode item in root.ChildNodes) { //创建一个地址对象 //Address address=new Address(); //address.Street = root.Attributes["name"].InnerText; //address.Jwh = item.Attributes["name"].InnerText; string street = root.Attributes["name"].InnerText; string jwh= item.Attributes["name"].InnerText; foreach (XmlNode child in item.ChildNodes) { string floornum = child.Attributes["name"].InnerText; foreach (XmlNode node in child.ChildNodes)//child代表的是楼号,一个楼层上有多个房间 { //每一个node都是一个房间 Address address = new Address(); address.Street = street; address.Jwh = jwh; address.Floornum = floornum; RoomAddress roomAddress=new RoomAddress(); //RoomAddress类中才能反映出当前房间的具体位置信息 //包括房间号,所在楼层,所在的校区,所在的街道 //华清嘉园 B 1005 101 //羊城花园 +A1004 101 roomAddress.Roomnum =node.InnerText; roomAddress.Address = address; list.Add(address.Jwh+address.Floornum + roomAddress.Roomnum, roomAddress); } } } } }

RoomAdress类

public class RoomAddress   {       public RoomAddress()       {           address=new Address();       }       private string roomnum;       private Address address;       public string Roomnum       {           get { return roomnum; }           set { roomnum = value; }       }       public Address Address       {           get { return address; }           set { address = value; }       }   }

在主主窗体创建方法用于调用XML文件并且与Treeview绑定

common.ReadDataFromXML();            TreeNode root=new TreeNode();            root.Text = "石牌街道";            tvShow.Nodes.Add(root);            string jwh= "";            TreeNode tn = null;            TreeNode tnfloor = null;            string floor = "";            TreeNode child = null;            foreach (RoomAddress address in common.list.Values)//RoomAddress            {                if (floor != address.Address.Floornum)                {                    if (jwh != address.Address.Jwh)                    {                        tn = new TreeNode();                        tn.Text = address.Address.Jwh;                        root.Nodes.Add(tn);                    }                    tnfloor = new TreeNode();                    tnfloor.Text = address.Address.Floornum;                    tn.Nodes.Add(tnfloor);                }                child = new TreeNode();                child.Text = address.Roomnum;                tnfloor.Nodes.Add(child);                jwh = address.Address.Jwh;                floor = address.Address.Floornum;                     }

TreeView的选中事件并且将将节点上的文字赋值到TextBox控件上

//获取当前选中的节点            TreeNode selectNode = tvShow.SelectedNode;            if (selectNode!=null&&selectNode.Level==3)            {                string parentText = selectNode.Parent.Text;                string parentandparentText = selectNode.Parent.Parent.Text;                string treeText = parentandparentText + parentText + selectNode.Text;                txtJWH.Text = common.list[treeText].Address.Jwh;                txtStreet.Text = common.list[treeText].Address.Street;                txtRoomNum.Text = common.list[treeText].Roomnum;                txtFloor.Text = common.list[treeText].Address.Floornum;            }

这个小程序还有很多不足

 

转载于:https://www.cnblogs.com/yzwss/p/8360006.html

你可能感兴趣的文章
POJ训练计划1035_Spell checker(串处理/暴力)
查看>>
Makefile 使用总结【转】
查看>>
一起学微软Power BI系列-官方文档-入门指南(4)Power BI的可视化
查看>>
Android.util.Log 关于Android开发中打印log
查看>>
转:Python yield 使用浅析 from IBM Developer
查看>>
仪表板颜色
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
mysql oom之后的page 447 log sequence number 292344272 is in the future
查看>>
chrome禁用某个网站js脚本的执行
查看>>
数组排序 和 二分法查找
查看>>
MongoDB C Driver Building on Windows
查看>>
备忘zookeeper(单机+伪集群+集群)
查看>>
无需编译、快速生成 Vue 风格的文档网站
查看>>
AtomicBoolean介绍与使用
查看>>
Elasticsearch之curl删除
查看>>
Apache Spark 内存管理详解(转载)
查看>>
JS隐藏号码中间4位
查看>>
windows下安装Rabbitmq详解
查看>>
HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误
查看>>
SQL Server索引 - 索引(物化)视图 <第九篇>
查看>>