• TreeView的省市选择


    一、父选择窗口

    二、子窗口提供选择FrmSelectAreas

    1、数据准备:

      在数据库中有一张表Areas字段为:AID,AName,APid;

      AID为字段地区编号,AName为地区名称,APid为地区父级AID.

    2、FrmSelectAreas窗体中,递归遍历绑定数据

      

    View Code
     1 void BindParent() //绑定父节点
     2         {
     3             //添加父节点
     4             TreeNode parent = new TreeNode();
     5             parent.Text = "全国";
     6             parent.Tag = 0;
     7             tvAreas.Nodes.Add(parent);
     8             //获取数据集
     9            List<Areas> list = SQLHelper.GetALLAreas();
    10             //子节点绑定
    11            BindChildRen(parent,list);
    12            parent.Expand();//展开父节点
    13         }
    14         //子节点绑定
    15         void BindChildRen(TreeNode parent,List<Areas> list) 
    16         {
    17             //得到父节点的AId
    18             int Aid = Convert.ToInt32(parent.Tag);
    19             //遍历
    20             foreach (Areas item in list)
    21             {
    22                 if (Aid == item.APid)
    23                 {
    24                     TreeNode tn = new TreeNode();
    25                     tn.Text = item.AName;
    26                     tn.Tag = item.AID;
    27                     parent.Nodes.Add(tn);
    28 
    29                     BindChildRen(tn,list);
    30                 }
    31             }
    32         }

     然后,在窗体加载中BindParent();

    2、获取地区全名称:

            void GetAreasText(TreeNode tn) 
            {
                if (tn.Parent != null) 
                {
                    GetAreasText(tn.Parent);
                }
                strSelected += tn.Text + "-";  //strSelected为窗体的public字段,用于传给父窗体数据。
            }
    

     3、单击确认时,传回数据,关闭当前窗体

                GetAreasText(tvAreas.SelectedNode);//获取数据
                strSelected = strSelected.TrimEnd('-');
                if (!string.IsNullOrEmpty(strSelected))
                {
                    this.DialogResult = DialogResult.OK;
                }
    
  • 相关阅读:
    STL之vector
    bubble_sort(归并排序)
    just_sort
    单调队列(数列中长度不超过k的子序列和的最值)
    两数组中寻找两个数的某种关系
    删除一个数字之后数列gcd最大
    实现二叉树(search)
    简单的树(summary)
    H5页面,按钮点击效果(信用卡还款项目)
    vue路由相关知识收集
  • 原文地址:https://www.cnblogs.com/dedeyi/p/2617566.html
Copyright © 2020-2023  润新知