這裡需要用到兩個控制元件,是dev的treelist和searchcontrol,首先呢樹形控制元件要形成樹形我在這就不多說了
因為這裡是記錄下searchcontrol這控制元件的用法
首先寫這三行程式碼,裡面都有註釋
this.searchControl1.Client = this.treeList1;//設定搜尋繫結 treeList1.OptionsBehavior.EnableFiltering = true;//開啟過濾功能 treeList1.OptionsFilter.FilterMode = FilterMode.Smart;//過濾模式
然後我們構造一個事件,我們稱它為過濾事件,
//過濾事件 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; }
到這裡,如果你的樹形資料沒有問題的話,就能看到效果了 ,快去動手試試吧