List<MyClass> mc = new List<MyClass>();
mc.Add(new MyClass { CustId=1, CustName = "John", ProdName = "Pens" });
mc.Add(new MyClass { CustId = 1, CustName = "John", ProdName = "Shampoo" });
mc.Add(new MyClass { CustId = 2, CustName = "Kelly", ProdName = "Milk" });
mc.Add(new MyClass { CustId = 1, CustName = "John", ProdName = "Soap" });
mc.Add(new MyClass { CustId = 1, CustName = "john", ProdName = "Cadbury" });
mc.Add(new MyClass { CustId = 2, CustName = "Kelly", ProdName = "Biscuit" });
var result = mc.GroupBy(m => m.CustId).Select(gr => new MyClass
{
CustName = gr.FirstOrDefault().CustName,
ProdName =
string.Join(",", gr.Select(g => g.ProdName).ToArray())
});
GridView1.DataSource = result;
GridView1.DataBind();