根据ID总结GridView列

时间:2014-02-11 05:30:54

标签: c# asp.net gridview

Hello Friends我需要对GridView的元素进行分组,如下所示。 我需要根据其ID

来总结价格

GridView中的数据

ID1 ID2 ----- -----价格

1 ------------- ------------- 1 100

2 ------------- ------------- 1 150

3 ------------- ------------- 1 120

4 ------------- ------------- 2 120

5 ------------- ------------- 2 160

6 ------------- ------------- 3 100

7 ------------- ------------- 3 200

我想将这些数据分组,如下所示,并将其保存在数据表中,以便我可以将其传递给我的数据库。

ID2 -----价格

1 ------------ 370

2 ------------ 280

3 ------------ 300

我该怎么做? 提前致谢

1 个答案:

答案 0 :(得分:2)

更改您的选择语句,如下所示

SELECT ID2, SUM(Price) FROM TableName GROUP BY ID2

如果您需要阅读gridview

,可以执行以下操作
List<Record> records = new Record<Record>();

foreach (GridViewRow row in grid.Rows)
{
   // below code need to be change with your grid controls and id names, and add validations for handle null values etc..
   string id2 = ((Label)row.FindControl("ID2Label")).Text;
   string Price = ((TextBox)row.FindControl("PricetextBox")).Text;
   records.Add(new Record(){ ID2 = int.Parse(id2), Price = int.Parse(Price)});       
}

var results = records.GroupBy(r=>r.ID2)
                    .Select(g=> new Record(){ ID2 = g.Key, Price = g.Sum(x=>x.Price)})
                    .ToList();

您可能需要如下的帮助类

public class Record
{
    public int ID2 { get; set;}
    public int Price {get; set;}
}