我需要在treelist中實現增量搜索。標準是節點的名稱包含特定的字符串。我發現這個建議「你應該覆蓋 XtraTreeList.Handler.TreeListHandler.IncrementalSearchState類的FindNode方法」從這裏http://community.devexpress.com/forums/t/15735.aspx。但我不明白如何實現這一點。DevExpress TreeList增量搜索
0
A
回答
2
一個簡單的遞歸應該給出遍歷整個樹的解決方案。
private TreeListNode GetNodeByName(TreeListNodes prmNodes, String prmName)
{
foreach (TreeListNode node in prmNodes)
{
// Assume the data is present in column 0.
if (node[0].ToString().Contains(prmName, StringComparison.CurrentCultureIgnoreCase))
return node;
TreeListNode foundNode = GetNodeByName(node.Nodes, prmName);
if (foundNode != null)
return foundNode;
}
return null;
}
//---------------------------------------------------------------------------
現在,如果你做一個簡單的調用,比如:
TreeListNode node = GetNodeByName (treeList.Nodes, "MyNodeName");
你會得到你想要的節點。
0
我認爲這是這樣的:
public class MyTreeList : DevExpress.XtraTreeList.TreeList
{
protected override DevExpress.XtraTreeList.Handler.TreeListHandler CreateHandler()
{
return new MyHandler(this);
}
internal DevExpress.XtraTreeList.Handler.TreeListHandler GetHandler() { return this.Handler; }
}
public class MyHandler : DevExpress.XtraTreeList.Handler.TreeListHandler
{
public MyHandler(TreeList tree) : base(tree) { }
protected override TreeListControlState CreateState(TreeListState state)
{
if (state == TreeListState.IncrementalSearch && this.TreeList is MyTreeList)
return new MyFinder((this.TreeList as MyTreeList).GetHandler());
return base.CreateState(state);
}
}
public class MyFinder : DevExpress.XtraTreeList.Handler.TreeListHandler.IncrementalSearchState
{
public MyFinder(DevExpress.XtraTreeList.Handler.TreeListHandler handler) : base(handler) { }
protected override TreeListNode FindNode(FindNodeArgs e)
{
////////////////////////////////////
////////////////////////////////////
////////////////////////////////////
return base.FindNode(e);
}
}
相關問題
- 1. TreeList devexpress圖標
- 2. DevExpress GridView搜索
- 3. Vim增量搜索
- 4. JQuery增量搜索
- 5. DBGrid增量搜索組件
- 6. 將值添加到DevExpress TreeList的一行
- 7. 搜索條小數增量值
- 8. 按自動增量搜索數PHP/MYSQL
- 9. 檢測摺疊線或增量搜索(?)
- 10. OCAML增量搜索子字符大小
- 11. 在TextEdit控件中搜索Devexpress vb.net
- 12. 如何在devexpress的treelist控制前添加圖像?
- 13. 如何進行數據綁定到的DevExpress的TreeList
- 14. DevExpress TreeList - 在非第一列中顯示樹輪廓
- 15. 如何將數據設置爲devexpress的treelist
- 16. 在TreeList中選擇整行時設置邊框DevExpress
- 17. 更改DevExpress TreeList底層IVirtualTreeList數據源的結構
- 18. 如何在.NET中獲取選定的WPF Devexpress TreeList行?
- 19. 你如何獲得DevExpress TreeList節點的X,Y?
- 20. 增量索引lucene
- 21. SimpleDB增量索引
- 22. 增量表索引
- 23. 正在更新中TreeList ItemSource
- 24. 搜索像Finder的,有可能增加搜索參數欄
- 25. 如何在delphi FM2中進行增量搜索?
- 26. VSCODE - vscodevim插件增量搜索鍵綁定
- 27. Vim在替換期間的增量搜索
- 28. 碳Emacs的:沒有'焦點在小緩衝區增量搜索
- 29. Visual Studio 2015增量搜索 - 無跡象表明?
- 30. 如何搜索,替換html文件中的+增量?
導線使用或者[深度優先(http://en.wikipedia.org/wiki/Depth-first_search)廣度優先搜索算法樹節點或並根據您的標準匹配節點名稱。 –