在Telerik radTreeListView中仅允许8个选择

在Telerik radTreeListView中仅允许8个选择,telerik,radtreeview,Telerik,Radtreeview,我有一个具有多个父节点的radTreeListView,它可以包含多个子节点,也可以包含多个子节点 我想确保只选择了8个项目,并且不超过8个。这8个选项也必须位于同一父节点下 你可以试试这样的方法: private RadTreeNode GetParentNode(RadTreeNode currentNode) { if (currentNode.Parent!=null) { return GetParentNode(currentNode.Parent); }

我有一个具有多个父节点的radTreeListView,它可以包含多个子节点,也可以包含多个子节点


我想确保只选择了8个项目,并且不超过8个。这8个选项也必须位于同一父节点下

你可以试试这样的方法:

private RadTreeNode GetParentNode(RadTreeNode currentNode) {
   if (currentNode.Parent!=null) {
      return GetParentNode(currentNode.Parent);
   }   
   return currentNode;
}

private void CountSelectedNodes(RadTreeNode firstNode, ref int selectedCount) {
   if (firstNode.Nodes!=null) {
      foreach(RadTreeNode node in firstNode.Nodes) {
         CountSelectedNodes(node, ref selectedCount);
      }
      if (firstNode.IsSelected) {
          selectedCount+=1;
      }
   }
}

private bool SelectionAllowed(RadTreeNode currentNode) {
   RadTreeNode treeNode=GetParentNode(currentNode);
   int selectedCount;
   CountSelectedNodes(treeNode, ref selectedCount);
   return selectedCount<=8;
}
专用RadTreeNode GetParentNode(RadTreeNode currentNode){
if(currentNode.Parent!=null){
返回GetParentNode(currentNode.Parent);
}   
返回当前节点;
}
私有void CountSelectedNodes(RadTreeNode firstNode,ref int selectedCount){
if(firstNode.Nodes!=null){
foreach(firstNode.Nodes中的RadTreeNode节点){
CountSelectedNodes(节点,参考selectedCount);
}
if(firstNode.IsSelected){
selectedCount+=1;
}
}
}
私有布尔选择降低(RadTreeNode currentNode){
RadTreeNode treeNode=GetParentNode(currentNode);
int-selectedCount;
CountSelectedNodes(treeNode,ref selectedCount);
返回selectedCount