【问题标题】:Telerik Radlistview dynamically grouping itemsTelerik Radlistview 动态分组项目
【发布时间】:2017-02-01 16:53:10
【问题描述】:

使用winform,我试图使用下面的代码从数据库中将分组在类别下的食物显示到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 条件将项目添加到其类别下,以通过其键找到正确的组。

如果我在 for 循环之外执行此操作,它可以添加多个 Items。但是从 for 循环非内的数据库中添加。

【问题讨论】:

    标签: c# telerik


    【解决方案1】:

    问题只是在 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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-20
      • 2014-09-10
      • 2017-01-06
      • 1970-01-01
      • 2012-07-11
      • 2019-05-14
      • 2017-03-10
      相关资源
      最近更新 更多