or
Hello. I have two problems with filtering in RadTreeView control.
1. I add nodes to tree when filtering is enabled.
Code:
radTreeView1.Filter =
"new"
;
radTreeView1.Nodes.Add(
"new Node"
);
for
(
int
i = 0; i < 1000; i++ )
{
radTreeView1.Nodes.Add(
new
RadTreeNode(
"test"
) );
}
You can see that after this actions scroll does not work correctly (see screenshot 1).
2. Some node is added to tree when filter was enabled.
radTreeView1.Filter =
"new"
;
var node =
new
RadTreeNode(
"test"
);
radTreeView1.Nodes.Add( node );
After some actions I must to check
if
node was added. When node was not added I add it again.
if
( radTreeView1.Nodes.Contains( node ) ==
false
)
{
radTreeView1.Nodes.Add(
new
RadTreeNode(
"test"
) );
}
I don't know how to check is node is present in tree. When node is filtered it is absent in Nodes.treeView.AddNodeByPath(
"General\\Billing\\February\\Report.txt"
)
treeView.AddNodeByPath(
"General\\Billing\\March\\Report.txt"
)
treeView.AddNodeByPath(
"General\\Billing\\April\\Report.txt"
)
private
RadTreeNodeCollection AddNode(
string
path)
{
if
(path == String.Empty)
return
treeView.Nodes;
string
node = Path.GetFileName(path);
RadTreeNodeCollection parent = AddNode(Path.GetDirectoryName(path));
if
(parent.Contains(node))
return
parent[node].Nodes;
else
return
parent.Add(node).Nodes;
}