C#のツリービューフィルタと結合

        /// <要約> 
        ///模糊查询
        /// </要約> 
        /// <PARAM NAME = "STR"> </ param>の
        /// <PARAM NAME = "リスト"> </ param>の
        // / <リターン> </戻り> 
        民間のIList <CV_QM_DEFECT_LABEL_GROUP> onFindKeyWord(文字列str、のIList <CV_QM_DEFECT_LABEL_GROUP>リスト)
        { 

            リスト<CV_QM_DEFECT_LABEL_GROUP> m_list =新しいリスト<CV_QM_DEFECT_LABEL_GROUP>(); 
            foreachの(リスト内CV_QM_DEFECT_LABEL_GROUPデータ)
            { 
                IF(data.GroupName.IndexOf(STR)= -1!)
                { 
                    m_list.Add(データ)。

        } 
        /// <要約> 
        ///すべてのルート検索
        /// </要約> 
        プライベートリスト<CV_QM_DEFECT_LABEL_GROUP> findParent()
        { 
            のIList <CV_QM_DEFECT_LABEL_GROUP> = this.icv_QM_DEFECT_LABEL_GROUPBO_0.GetEntitiesエンティティ(); 
            のIList <CV_QM_DEFECT_LABEL_GROUP> filterDataをonFindKeyWord =(txtquery.Text.Trim()、エンティティ); 
            リスト<CV_QM_DEFECT_LABEL_GROUP> = entities1新しい新しいリスト<CV_QM_DEFECT_LABEL_GROUP>(); //使用すると便利にリスト
            一覧を<CV_QM_DEFECT_LABEL_GROUP> entities2 =新しいリスト <CV_QM_DEFECT_LABEL_GROUP>(); //すべてのノード格納するために使用

            するforeach(アイテムのVAR(のIList <CV_QM_DEFECT_LABEL_GROUP>)エンティティ) 
            {
                entities1.Add(アイテム)
                        TEMP1 =温度; 
                    } 
            } 
            foreachの(filterdataでCV_QM_DEFECT_LABEL_GROUPデータ)
            { 
                CV_QM_DEFECT_LABEL_GROUPのTEMP1 =データ。
                一方、(TRUE)
                { 
                    IF(temp1.ParentGroupID.HasValue)
                    { 
                        IF(entities2.Find(S => s.GroupID.Equals(temp1.GroupID))== NULL)
                        {entities2.Add(TEMP1)。} 
                        CV_QM_DEFECT_LABEL_GROUP TEMP = entities1.Find(S => s.GroupID.Equals(temp1.ParentGroupID))。
                    { 
                        IF(entities2.Find(S => s.GroupID.Equals(temp1.GroupID))== NULL)
                        {entities2.Add(TEMP1)。} 
                        ブレーク; 
                    } 
                } 
            } 
            entities2.OrderBy(項目=> item.GroupLevel).ToList()を返します。
        } 
        /// <要約> 
        ///数据绑定
        /// </要約> 
        プライベートボイドバインド()
        { 
            のIList <CV_QM_DEFECT_LABEL_GROUP>エンティティ= findparent()。
            this.TreeView1.Nodes.Clear();  
                IF(cv_qm_defect_label_group.ParentGroupID.HasValue)
                {
            foreachの(エンティティでCV_QM_DEFECT_LABEL_GROUPのcv_qm_defect_label_group)
            { 
                    ツリーノード[] nodeArray = this.TreeView1.Nodes.Find(cv_qm_defect_label_group.ParentGroupID.Value.ToString()、TRUE)。
                    IF((nodeArray!= NULL)&&(nodeArray.Length> 0))
                    { 
                        nodeArray [0] .Nodes.Add(cv_qm_defect_label_group.GroupID.Value.ToString()、cv_qm_defect_label_group.GroupName、 "Group.png"、「グループ。 PNG "); 
                        nodeArray [0] .Nodes [cv_qm_defect_label_group.GroupID.Value.ToString()]タグ= cv_qm_defect_label_group。
                    } 
                    {
                        this.TreeView1.Nodes.Add(cv_qm_defect_label_group.GroupID.Value.ToString()、cv_qm_defect_label_group.GroupName、 "Group.png"、 "Group.png")。
                        。this.TreeView1.Nodes [cv_qm_defect_label_group.GroupID.Value.ToString()]タグ= cv_qm_defect_label_group。
                    } 
                } 
                { 
                    this.TreeView1.Nodes.Add(cv_qm_defect_label_group.GroupID.Value.ToString()、cv_qm_defect_label_group.GroupName、 "Group.png"、 "Group.png")。
                    。this.TreeView1.Nodes [cv_qm_defect_label_group.GroupID.Value.ToString()]タグ= cv_qm_defect_label_group。
                } 
            }
            this.TreeView1.ExpandAll(); 
        } 

    } 
}

  

おすすめ

転載: www.cnblogs.com/yueyan/p/11646857.html