2017-02-01 2 views
-1

с использованием winform Я пытаюсь отобразить из базы данных продукты, которые сгруппированы по категориям в 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(); 

Я пытаюсь добавить элемент под свою категорию, используя условие where, чтобы найти правильную группу по ее ключу.

Если я делаю это снаружи для Loop, он работал над добавлением нескольких Items.but из базы данных внутри цикла for non.

ответ

0

Проблема была только путем литья 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(); 
Смежные вопросы