Hi amar,
Suppose if there are 50 different record then there would be 50 tables like this you want.
I have create the sample.Please check.
HTML
<div id="divNames" runat="server">
</div>
Code
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[2] {new DataColumn("Name", typeof(string)),
new DataColumn("Sub",typeof(string)) });
dt.Rows.Add("abc", "x");
dt.Rows.Add("dfe", "y");
dt.Rows.Add("abc", "x");
var groups = from row in dt.AsEnumerable()
let name = row.Field<string>("Name")
group row by name into Group
select Group.CopyToDataTable();
List<DataTable> allNameTables = groups.ToList();
foreach (DataTable nameTable in allNameTables)
{
GridView gvName = new GridView();
gvName.ID = "gvNameTable";
gvName.DataSource = nameTable;
gvName.DataBind();
divNames.Controls.Add(gvName);
Screenshot