是的,ASP.NET 樹形結構支持節點過濾。在ASP.NET中,可以使用Web Forms或ASP.NET MVC來實現樹形結構。為了支持節點過濾,你需要在數據綁定到樹形控件時提供一個過濾方法。這個方法可以根據你的需求來過濾節點數據,然后將過濾后的數據顯示在樹形結構中。
以下是一個簡單的示例,說明如何在ASP.NET Web Forms中使用TreeNodeFilter方法過濾樹形結構中的節點:
List<Node> nodes = new List<Node>
{
new Node { Id = 1, ParentId = null, Name = "Node 1" },
new Node { Id = 2, ParentId = 1, Name = "Node 1.1" },
new Node { Id = 3, ParentId = 1, Name = "Node 1.2" },
new Node { Id = 4, ParentId = 2, Name = "Node 1.1.1" },
};
private List<Node> TreeNodeFilter(List<Node> nodes, int? parentId)
{
List<Node> filteredNodes = new List<Node>();
foreach (Node node in nodes)
{
if (node.ParentId == parentId || parentId == null)
{
filteredNodes.Add(node);
}
}
return filteredNodes;
}
protected void TreeView1_DataBound(object sender, EventArgs e)
{
if (TreeView1.DataSource != null)
{
List<Node> filteredNodes = TreeNodeFilter((List<Node>)TreeView1.DataSource, null);
TreeView1.DataSource = filteredNodes;
TreeView1.DataBind();
}
}
在ASP.NET MVC中,你可以使用類似的方法來實現節點過濾。首先,在控制器中創建一個過濾方法,然后在視圖中調用該方法并將過濾后的數據顯示在樹形結構中。