如何确保在radTreeListView中进行的所有选择都具有相同的rootParent

时间:2013-11-05 07:08:59

标签: c# c#-4.0 telerik silverlight-5.0 radtreeview

样本数据

UK
  -london
      -london 1
      -london --
      -london 100
  -Newcastle
      -Newcastle 1
      -Newcastle 2
      -Newcastle 3
  -liverpool
USA
  -New york
  -califonia
China
  -one
  -two

我有一个带有上面示例结构的radTreeListView。 radTreeListView中的每个可选项都有一个复选框,用户可以选中或取消选中该复选框或取消选择该项。

我的要求是确保用户只能选择同一rootItem / Parent下的项目。

用户不应该选择英国下的项目,然后选择美国或中国的其他项目。

然而,他们可以选择英国,伦敦1,纽卡斯尔3和利物浦

我基本上想确保所有选择都具有相同的rootParent。

这就是检索所选项目的方法

 private void radTreeListView_SelectionChanged(object sender, SelectionChangeEventArgs e)
    {
        //Limit number of items that can be selected from the radTreeListView
        if (totalSelectedItems() > 3 && e.AddedItems.Count > 0)
        {
            radTreeListView.Unselect(e.AddedItems);
            radTreeListView.Rebind();
        }

        //Retrieve items selected from the radTreeListView 
        System.Collections.ObjectModel.ObservableCollection<object> selectedItems = radTreeListView.SelectedItems;
        StringBuilder userSelection = new StringBuilder();
        const string seperator = ", ";
        foreach (object item in selectedItems)
        {
            myDataclass myItems = (myDataclass)item;
            userSelection.Append(myItems.Name).Append(seperator);
        }
    }

我在下面尝试了代码,但父级返回null

 object parent = radTreeListView.ItemContainerGenerator.ContainerFromItem(radTreeListView.SelectedItem);

1 个答案:

答案 0 :(得分:0)

好的,我报告了同一个问题,这次回答是radTreeListView - allow selection of items only under same rootItem