XraTreeList的常用方法

来源:互联网 发布:javascript模块化开发 编辑:程序博客网 时间:2024/06/05 18:23

    XraTreeList的常用方法

 

1,数据源的绑定

      DataSet ds =new DataSet();

            da.Fill(ds, "sendinfo");

            con.Close();

            //treeList1.OptionsBehavior.PopulateServiceColumns= true;

            this.treeList1.DataSource= ds.Tables["sendinfo"];

            //this.treeList1.PopulateColumns();

            this.treeList1.KeyFieldName= "cid";

            this.treeList1.ParentFieldName = "parent_cid";

2 父子节点连动

 private void treeList1_AfterCheckNode(object sender, NodeEventArgs e){

            SetCheckedChildNodes(e.Node,e.Node.CheckState);

            SetCheckedParentNodes(e.Node,e.Node.CheckState);

        }

     

        privatevoid treeList1_BeforeCheckNode(object sender, CheckNodeEventArgse) {

            e.State = (e.PrevState == CheckState.Checked ? CheckState.Unchecked: CheckState.Checked);

        }

      

 

        privatevoid SetCheckedChildNodes(TreeListNode node, CheckStatecheck) {

            for(int i = 0; i < node.Nodes.Count; i++) {

                node.Nodes[i].CheckState =check;

               SetCheckedChildNodes(node.Nodes[i], check);

            }

        }

        privatevoid SetCheckedParentNodes(TreeListNode node, CheckStatecheck) {

            if(node.ParentNode!= null) {

                boolb = false;

                CheckStatestate;

                for(int i = 0; i < node.ParentNode.Nodes.Count; i++) {

                    state = (CheckState)node.ParentNode.Nodes[i].CheckState;

                    if(!check.Equals(state)){

                        b = !b;

                        break;

                    }

                }

                node.ParentNode.CheckState = b? CheckState.Indeterminate : check;

               SetCheckedParentNodes(node.ParentNode, check);

            }

        }

3 获取当前选中的所有子节点

 private void button1_Click(objectsender, EventArgs e)

        {

            //ArrayListalist = new ArrayList();

            //intincount = treeList1.Nodes.Count - 1;

         

    

            //for(int i = incount; incount >= 0; i--)

            //{

            //    if (treeList1.Nodes[i].CheckState ==CheckState.Checked)

            //       alist.Add(treeList1.Nodes[i].GetDisplayText("name"));

            //        alist.Add(treeList1.Nodes[i].GetValue("name"));

 

 

            //        //qtyList.Add(CurTmpNode.GetValue("DataObject"))

 

 

 

            //}

      

           

            //    //ArrayList selectedNodes = newArrayList();

 

            //   //selectChildren(treeList1.Nodes[0].Nodes[0], selectedNodes);

            //    //treeList1.Selection.Set(selectedNodes);

            //    //selectedNodes.Add("1");

            //if(alist[0] != null)   

            //     textBox1.Text = alist[0].ToString();

            if(treeList1.Nodes.Count > 0)

            {

                foreach(TreeListNode root intreeList1.Nodes)

                {

                  //  GetCheckedOfficeID(root);

                    textBox1.Text +=GetCheckedOfficeID(root);

                }

            }

        }

 

        privatestring GetCheckedOfficeID(TreeListNode root)

        {

            stringvalue="";

            foreach(TreeListNode node inroot.Nodes)

            {

                if(node.Nodes.Count==0)

                {

                    if(node.CheckState == CheckState.Checked)

                    {

                        DataRowView drv = treeList1.GetDataRecordByNode(node) as DataRowView;

                        if (drv != null)

                        {

                            value += drv["name"].ToString()+" ";

                        }

                    }

                }

                GetCheckedOfficeID(node);

            }

            returnvalue;

        }

    

 

 

 

原创粉丝点击