分享

C#中treeview的操作

 冰冻三尺roy 2010-08-30
#region 加载树控件的父节点数据
  /// <summary>
  /// 加载树控件(itemConfigTreeView)的父节点数据
  /// </summary>
  private void InitItemConfig()
  {
   //初始化父节点
 
  
   TreeNode tdroot = new TreeNode();
   tdroot.Text = companyName;
   tdroot.Tag = "-1";
   tdroot.ExpandAll();
   itemConfigTreeView.Nodes.Add(tdroot);
   DataTable dt = mClass.QueryData(strData); //获取所有父节点
   TreeNode tn = null;
   DataRow row;
   string deptId;
   string deptName;
   int iCount = dt.Rows.Count;
   for(int i = 0;i<iCount;i++)
   {
      row = dt.Rows[i];
       deptId = row["Co_AllDataItemDef_ID"].ToString();
      deptName = row["ShortName"].ToString();
      tn = new TreeNode();
      tn.Tag = deptId;
      tn.Text = deptName;
      //树节点展开
      tn.Expand();
      tdroot.Nodes.Add(tn);
      //加载数据项数据--加裁子节点
       CreateChild(tn,deptId);
         
   }
  
  }
  #endregion
#region 加载树控件的子节点数据
  /// <summary>
  /// 加载树控件的子节点数据-岗位名称
  /// </summary>
  /// <param name="tn">子节点</param>
  /// <param name="lastDeptId">数据项</param>

  private void CreateChild(TreeNode tn,string lastItemId)
  {
   //查询数据项信息
   DataTable dt = mClass.QueryData_Son(lastItemId);
   DataRow childRow;
   //数据项代码
   string ITEMID;
   //数据项名称
   string deptName;
   int iCount = dt.Rows.Count;
   for(int i=0;i<iCount;i++)
   {
    childRow = dt.Rows[i];
    deptName = childRow["ITEMNAME"].ToString();
    ITEMID = childRow["ITEMID"].ToString();
    TreeNode td = new TreeNode();
    td.Text = deptName;
    td.Tag = ITEMID;
    td.Expand();
    tn.Nodes.Add(td);
    //递归加载子节点
    CreateChild(td,ITEMID);
   }
  }
  #endregion
/// <summary>
  /// 全选树控件的所有节点
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>

  private void btn_SelectAll_Click(object sender, System.EventArgs e)
  {
     int count = this.Config_treeView.Nodes.Count;
     if(count == 0){ return ; }
     for(int i = 0 ; i<count;i++)
    {
      this.Config_treeView.Nodes[i].Checked = true;//false则不选
    }
  }
/// <summary>
  /// 删除数据项
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>

  private void btn_Del_Click(object sender, System.EventArgs e)
  {
   int count = this.Data_treeView.Nodes.Count;
   if(count == 0){ return ; }
   for(int i = count-1 ; i>= 0;i--)
   {
    if(this.Data_treeView.Nodes[i].Checked == true)
    {
     this.Data_treeView.Nodes[i].Remove();
    }
   }               
  }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多