0

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

我想确保只选择了 8 个项目,仅此而已。这 8 个选择也必须在同一个父节点下。

4

1 回答 1

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()

于 2013-10-31T14:32:06.790 回答