DataTable dt = new DataTable(); DataTable dt1 = new DataTable(); dt = (DataTable)DataSource; foreach (DataColumn dc in dt.Columns) { dt1.Columns.Add(new DataColumn(dc.ColumnName, dc.DataType)); } if (dt.Rows.Count > 0) { dt1.Rows.Clear(); DataRow GRIDPRINT_DR = dt1.NewRow(); for (int k = 0; k < dt1.Columns.Count; k++) { GRIDPRINT_DR[k] = dt.Rows[RowNumber][k].ToString().Clone(); } dt1.Rows.Add(GRIDPRINT_DR.ItemArray); ((XRSubreport)sender).ReportSource.DataSource = dt1; if(RowNumber < dt.Rows.Count) { RowNumber++; } }