dev treelist和searchcontrol組合模糊查詢用法

守望陽光01發表於2017-10-06

這裡需要用到兩個控制元件,是dev的treelist和searchcontrol,首先呢樹形控制元件要形成樹形我在這就不多說了 

因為這裡是記錄下searchcontrol這控制元件的用法

首先寫這三行程式碼,裡面都有註釋

this.searchControl1.Client = this.treeList1;//設定搜尋繫結
            treeList1.OptionsBehavior.EnableFiltering = true;//開啟過濾功能
            treeList1.OptionsFilter.FilterMode = FilterMode.Smart;//過濾模式
View Code

然後我們構造一個事件,我們稱它為過濾事件,

//過濾事件
            treeList1.FilterNode += treeList1_FilterNode;

然後在事件中寫上程式碼

void treeList1_FilterNode(object sender, DevExpress.XtraTreeList.FilterNodeEventArgs e)
        {
            if (treeList1.DataSource == null) return;
            string NodeText = e.Node.GetDisplayText("SCNAME");
            if (string.IsNullOrWhiteSpace(NodeText)) return;
            bool IsVisible = NodeText.ToUpper().IndexOf(searchControl1.Text.ToUpper()) >= 0;
            if (IsVisible)
            {
                TreeListNode Node = e.Node.ParentNode;
                while (Node != null)
                {
                    if (!Node.Visible)
                    {
                        Node.Visible = true;
                        Node = Node.ParentNode;
                    }
                    else
                        break;
                }
            }
            e.Node.Visible = IsVisible;
            e.Handled = true;
        }
View Code

到這裡,如果你的樹形資料沒有問題的話,就能看到效果了 ,快去動手試試吧

 

相關文章