This way:
HTML:
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvName" runat="server">
</asp:GridView>
<br />
<asp:GridView ID="gvUniqueName" runat="server">
</asp:GridView>
</div>
</form>
C#:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.GetDistinctPersons();
}
}
private void GetDistinctPersons()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[4]{
new DataColumn("ID", typeof(int)),
new DataColumn("FirstName", typeof(string )),
new DataColumn("Desc", typeof(string)),
new DataColumn("Rupees", typeof(int))});
dt.Rows.Add(1, "Test1", "Test", 100);
dt.Rows.Add(2, "Test2", "Test", 100);
dt.Rows.Add(3, "Test3", "Test", 100);
dt.Rows.Add(1, "Test1", "Test", 100);
dt.Rows.Add(2, "Test2", "Test", 500);
this.gvName.DataSource = dt;
this.gvName.DataBind();
DataTable result = dt.AsEnumerable()
.GroupBy(r => new
{
Col1 = r.Field<String>("FirstName")
})
.Select(g =>
{
var row = g.First();
row.SetField("Rupees", g.Sum(r => r.Field<int>("Rupees")));
return row;
}).CopyToDataTable();
this.gvUniqueName.DataSource = result;
this.gvUniqueName.DataBind();
}
Thank You