• 从DB中读取数据到TreeView中


    有2张表,结构如下:
    表province结构:province_id   province_name   ( primary key:province_id)
    表city结构:city_id,city_name,province_id       (primary key:city_id,province_id)
            SqlConnection conn = new SqlConnection("server=zzy;integrated security=sspi;database=test");
            SqlDataAdapter da;
            DataSet ds 
    = new DataSet();
            
    private void Form1_Load(object sender, EventArgs e)
            {
                readNodes();
                
    this.treeView1.ExpandAll();
            }
            
    private void readNodes()
            {
                
    string _sql = "select * from province";
                da 
    = new SqlDataAdapter(_sql, conn);
                da.Fill(ds, 
    "province");
                DataView dvw1 
    = new DataView(ds.Tables["province"]);
                
    int i = 0;
                
    foreach (DataRowView myRow1 in dvw1)
                {
                    
    string strProvinceName = myRow1["province_name"].ToString().Trim();
                    
    this.treeView1.Nodes.Add(new TreeNode(strProvinceName));//read ParentNode
      
    //---------------------------------------------------------------------------------------------------------------------------------------//
                    da = new SqlDataAdapter("select * from city where province_id='"+myRow1["province_id"].ToString().Trim()+"'",conn);
                    da.Fill(ds,
    "city");
                    DataView dvw2 
    = new DataView(ds.Tables["city"]);
                    
    foreach (DataRowView myRow2 in dvw2)
                    {
                        
    string strCityName = myRow2["city_name"].ToString().Trim();
                        
    this.treeView1.Nodes[i].Nodes.Add(new TreeNode(strCityName));//read ChildNode
                    }
                    i
    ++;
                    ds.Tables[
    "city"].Clear();
                    
    this.treeView1.SelectedNode = treeView1.Nodes[0];
                }
            }


    结果如下:


    备注:以上代码所展示的TreeView只支持2层树结构(跟我测试的Table结构有关),方法比较原始,呵呵,若要扩展可以通过递归调用来实现树型结构的结点读取!
  • 相关阅读:
    深入理解npm run命令,run命令的两条潜规则
    oracle 删除表空间及数据文件方法
    Oracle11g创建表空间和用户,并授权
    java poi 读取excel 获取第一个不隐藏的sheet
    VBS 学习
    VBS 操作Excel
    Selenium + Python操作IE 速度很慢的解决办法
    Selenium打开IE报错“Protected Mode settings...”解决方法
    Robot Framework搭建
    获取一组元素的最后一个
  • 原文地址:https://www.cnblogs.com/perfect/p/577894.html
Copyright © 2020-2023  润新知