在Telerik radTreeListView中仅允许8个选择

时间:2013-10-31 11:44:17

标签: telerik radtreeview

我有一个带有多个父节点的radTreeListView,它可以包含多个子节点,这些子节点也可以包含多个子子节点。

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

1 个答案:

答案 0 :(得分:0)

你可以尝试类似的东西:

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;
}

(此代码未经过测试,因此可能存在一些错误)

使用当前点击的节点调用selectionAllowed()