Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 选择分组数据并将其绑定到listview/gridview最佳实践_C#_Asp.net_Sql Server 2008_Tsql - Fatal编程技术网

C# 选择分组数据并将其绑定到listview/gridview最佳实践

C# 选择分组数据并将其绑定到listview/gridview最佳实践,c#,asp.net,sql-server-2008,tsql,C#,Asp.net,Sql Server 2008,Tsql,如果您对数据进行分组,那么最好的方法是什么?例如:我已经简化了本例中的所有内容 项目类别表: itemId itemCategoryId itemName 1 1 item1 2 1 item2 3 2 item3 4 1 item4 5 3 item5 和类别表 itemCategoryId itemCat

如果您对数据进行分组,那么最好的方法是什么?例如:我已经简化了本例中的所有内容

项目类别表:

itemId itemCategoryId itemName
1      1              item1
2      1              item2
3      2              item3
4      1              item4
5      3              item5    
和类别表

itemCategoryId itemCategory
1              category1
2              category2
3              category3
所以,如果我选择所有项目,我将得到和第一个表相同的结果,可能是itemCategory

但是,当我绑定Listview/Gridview或其他所有内容时,我希望在类别中对项目进行分组,以便如果我有与上面相同的数据,我在Listview/Gridview中的结果。。。应该是这样的:

category1:
  1 item1
  2 item2
  4 item4
category2:
  3 item3
category3:
  5 item5
你认为做这件事最好的方法是什么。我正在使用sql server 2008和visual studio 2010 ASP.NET c。谢谢你的帮助

我不希望数据库中的结果适用于此类:

public class Item
{
    public int itemId { get; set; }
    public string itemName { get; set; }

    public Item() { }

    public Item(int itemId, string itemName) 
    {
        this.itemId = itemId;
        this.itemName = itemName;
    }
}

public class GroupOfitems
{
    public string itemCategory{ get; set; }
    public List<Item> itemList { get; private set; }

    public GroupOfitems()
    {
        itemList = new List<Item>();
    }

    public GroupOfitems(string itemCategory, List<Item> itemList)
    {
        this.itemCategory= itemCategory;
        this.itemList = itemList;
    }
}

因此,我可以将上面表格中的数据保存在GroupOfItems类中…

我建议使用ListView,因为它更支持分组。在SELECT查询中,应按“itemCategory”对行进行分组。有关如何在代码中声明ListView的详细信息。

我无法按itemCategory分组,因为同一类别包含更多的项目。这个listview分组对我来说不是正确的答案。使用组模板,您可以使listview中的项目看起来像组,但每个项目都是一个组。我希望根据结果数据在同一组中有更多项。所以这不是我想要的答案,您需要编写一些自定义代码,但是ListView绝对适合您想要实现的目标。这个话题在这个网站和其他博客上得到了各种各样的报道,