Hi lipi, I hope you have heard about GridView inside GridView. Just try that you can easily do that. If you haven't heard about that just go through this code, Put one GridView on aspx page with inside This master gridview put another gridview with name 'GridView2' ok Write RowBound event of GridView1(Master gridView) protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { GridViewRow row = e.Row; if (row.DataItem == null) { return; } GridView gv = new GridView(); gv = (GridView)row.FindControl("GridView2"); //Prepare the query for Child GridView by passing the Employee ID of the parent row DataSet ds = ChildDataSource(((DataRowView)e.Row.DataItem)["employeeID"].ToString()); gv.DataSource = ds; gv.DataBind(); } Here is the ChildDataSource Method private DataSet ChildDataSource(string strEmployeeId) { DataSet ds = new DataSet(); string Query = "Select * from Employee_Master where EmployeeId='" + strEmployeeId+ "'"; // This is my structure to access data ok just use here your code ds = dataacesslayer.SqlHelper.ExecuteDataset(DBCon.ConnectionString, CommandType.Text, Query); return ds; } And let me know is your problem solved or not? http://techiefromsurat.blogspot.com/