我在ASP.NET 3.5 Web应用程序中使用TreeView和ShowCheckBoxes =“All”,出于某种原因,检查的节点没有按顺序返回。比方说,我有节点A,B,C和我选择B和C并点击保存按钮,当我检查Treeview的CheckedNodes属性时,检查的节点按顺序(B,C)。但下一次当我回到页面并选择节点A时,订单正在返回B,C,A。什么可能是这种行为的原因?Treeview checked nodes not order in order
3
A
回答
2
CheckedNodes是刚刚实现ICollection的一个TreeNodeCollection。当checkChanged事件触发时,它可能只是将树节点添加到CheckedNodes集合中。
什么我可以看到on MSDN意味着你应该承担的节点将被订购。所有它说的是:
每次网页发布到 服务器时,CheckedNodes收集 与 选择的节点自动填充。
从您的实验中,似乎可以安全地假设在第二次回发时,它只是将任何新的已检查节点添加到集合中,而不是清除集合并重新添加所有内容。
0
一个简单的例程来排序CheckedNodes
集合就足以解决这个问题。这个例程(http://urenjoy.blogspot.com/2009/06/sort-checkednodes-treenodecollection-in.html),我从搜索中运行,直接在循环收集之前调用。它本质上是通过一个简单的比较来检查文本,并按顺序返回一个新的集合。
从上面的链接:
private TreeNodeCollection SortTreeNode(TreeNodeCollection nodeList)
{
for (int i = 0; i < nodeList.Count-1; i++)
{
for (int j = i + 1; j < nodeList.Count; j++)
{
if (nodeList[i].Text.CompareTo(nodeList[j].Text)>0)
{
TreeNode temp = nodeList[i];
nodeList.RemoveAt(i);
nodeList.AddAt(i,nodeList[j-1]);
nodeList.RemoveAt(j);
nodeList.AddAt(j, temp);
}
}
}
return nodeList;
}
实施例调用代码:
var tncInOrder = SortTreeNode(this.MyTreeView.CheckedNodes);
foreach (TreeNode node in tncInOrder)
{
//Iterate through the nodes in order
}
相关问题
- 1. treeview checked nodes
- 2. Treeview - Treenode - VB.Net - Not Displaying Nodes
- 3. Initializer list not order
- 4. time.sleep in python exceution order
- 5. SilverLight ListBoxDragDropTarget not changing order
- 6. Order in legend plots python
- 7. C++ mysql order by is not ordered
- 8. WP_Query order by meta_value_num not working
- 9. C#List Order Order
- 10. MySQL - IN中的ORDER BY值()
- 11. SQL-ORDER BY in IF-ELSE CLAUSE
- 12. Azure/U-SQL - ORDER BY in ROW_NUMBER()
- 13. JpaSpecificationExecutor JOIN + ORDER BY in Specification
- 14. Order select Object key in select Reactjs
- 15. Order Strings as Times in Dictionary
- 16. SELECT ... ORDER BY field IN(SELECT ...)not working on duplicate field
- 17. SQL order by in union所有查询
- 18. mysql order-by original“where order”
- 19. Wordpress select order with order by
- 20. Cloud Spanner order without ORDER BY
- 21. ORDER BY with 2ndary indexes is not supported
- 22. C#List of Object not order by several objects down
- 23. mysql order by timestamp desc with limit range not working
- 24. sql order by not only with group by by only
- 25. Mysql组by by order by not working
- 26. Oracle sql order by not expected as working as expected?
- 27. Where in clause using order by得到结果
- 28. Tableau Calculated Field to Display Placement in Sort Order
- 29. Datagridview.SelectedCells order
- 30. ORDER BY条件