2017-02-01 2 views
-1

winformを使用していますカテゴリの下にグループ化されたfooditemsをradlistviewに表示するようにしています。問題はメイングループを示しているが、その下にアイテムを表示していないという問題です。Telerik Radlistview動的に項目をグループ化する

ZalaqEntities1 zlq=new ZalaqEntities1(); 

     List<cat> cats = zlq.cats.ToList(); 
     radListView1.Items.Clear(); 
     radListView1.Groups.Clear(); 
     radListView1.EnableGrouping = true; 
     radListView1.ShowGroups = true; 

     for (int i = 0; i < cats.Count(); i++) 
     { 
      radListView1.Groups.Add(new ListViewDataItemGroup()); 
      radListView1.Groups[i].Value = cats[i].catname; 
      radListView1.Groups[i].Key = cats[i].catid; 


     } 

     List<fooditem> fooditems = zlq.fooditems1.ToList(); 
     for (int j = 0; j < fooditems.Count(); j++) 
     { 
      ListViewDataItem myitem = new ListViewDataItem(); 
      myitem.Value = fooditems[j].itemname; 
      myitem.Key = fooditems[j].itemid; 
      // myitem.Group = radListView1.Groups[1]; 
      radListView1.Items.Add(myitem); 
      myitem.Group = radListView1.Groups.Where(i => i.Key == fooditems[j].catid).FirstOrDefault(); 
      //radListView1.Items[j].Group = radListView1.Groups[1]; 
     } 
     radListView1.Refresh(); 

私はそのキーで正しいグループを検索する場所の条件を使用して、そのカテゴリの下に項目を追加しようとしています。

私はこれをLoopの外で行うと、forループ内のデータベースからいくつかのItems.butを追加するために働いていました。

答えて

0

は問題が...ちょうどWhere句内i.Key.ToString()をキャストしていた

最終的なコード:

 ZalaqEntities1 zlq=new ZalaqEntities1(); 

     List<cat> cats = zlq.cats.ToList(); 
     radListView1.Items.Clear(); 
     radListView1.Groups.Clear(); 
     radListView1.EnableGrouping = true; 
     radListView1.ShowGroups = true; 

     for (int i = 0; i < cats.Count(); i++) 
     { 
      ListViewDataItemGroup grp = new ListViewDataItemGroup(); 
      grp.Value = cats[i].catname; 
      grp.Key = cats[i].catid.ToString(); 
      radListView1.Groups.Add(grp); 
      radListView1.Groups[i].Key = cats[i].catid; 
     } 
     radListView1.Refresh(); 
      List<fooditem> mfooditems = zlq.fooditems1.ToList(); 
     for (int j = 0; j < mfooditems.Count(); j++) 
     { 
      ListViewDataItem myitem = new ListViewDataItem(); 
      myitem.Value = mfooditems[j].itemname; 
      myitem.Key = mfooditems[j].itemid; 
      radListView1.Items.Add(myitem); 
      radListView1.Refresh(); 
      radListView1.Items[j].Group = radListView1.Groups.Where(i => i.Key.ToString() == mfooditems[j].catid.ToString()).FirstOrDefault(); 

     } 
     radListView1.Refresh(); 
関連する問題