zoukankan      html  css  js  c++  java
  • 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;
                }
    
  • 相关阅读:
    【leetcode】7. 反转整数
    【leetcode】496. 下一个更大元素 I
    【leetcode】389. 找不同
    Linux驱动模型解析bus之platform bus
    shell 和进程
    递归调用在循环体内: 把循环展开, 这种情况是先循环再递归
    javascript函数柯里化以及柯里化带来的好处
    Maven测试篇
    关于ECharts Java类库的一个jquery插件
    javascript原型链继承
  • 原文地址:https://www.cnblogs.com/dedeyi/p/2617566.html
Copyright © 2011-2022 走看看