0

サンプルデータ

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 の下にある項目のみを選択できるようにすることです。

ユーザーは、UK の下で項目を選択してから、USA または中国の下で別の項目を選択できないようにする必要があります。

ただし、英国、ロンドン 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);
4

1 に答える 1

0

わかりました、私は同じ問題のレポートを作成し、今回は radTreeListView に関する回答が提供されました- 同じ rootItem の下でのみアイテムの選択を許可します

于 2013-11-07T18:59:32.650 に答える