Try this
protected void Page_Load(object sender, EventArgs e)
{
DataTable newDt=this.GetData();
var newDataTableGruopedValue = from dt in newDt.AsEnumerable()
group dt by new { ID = dt.Field<string>("Id"), NAME = dt.Field<string>("Name"), CITY = dt.Field<string>("City") } into grp
select new
{
ID1 = grp.Key.ID,
NAME1 = grp.Key.NAME,
CITY1 = grp.Key.CITY
};
this.gvPersons.DataSource = newDataTableGruopedValue;
this.gvPersons.DataBind();
}
private DataTable GetData() {
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Id"));
dt.Columns.Add(new DataColumn("Name"));
dt.Columns.Add(new DataColumn("City"));
dt.Rows.Add("1","Ashutosh","Mumbai");
dt.Rows.Add("2", "Vipin", "Mumbai");
dt.Rows.Add("3", "Anuj", "Pune");
dt.Rows.Add("4", "RK", "Surat");
return dt;
}