Spliting a DataTable into two dataTable

If he following code will split a data table having some rows to the 2 data table with the number of rows provided by user. If your data table contain 50 rows and you want to split it into two data table then provide the datatable and number of rows as input parameter and it will return the dataset having two datatable.


private DataSet SplitDataTable(DataTable dt,int noOfRowsInTable)
{
DataSet ds = new DataSet();
try
{

ds.Tables.Add(dt.Clone());
ds.Tables[0].TableName = “FirstSet”;
ds.Tables.Add(dt.Clone());
ds.Tables[1].TableName = “SecondSet”;
if (dt != null)
{
if (dt.Rows.Count > noOfRowsInTable)
{
for (int i = 0; i < noOfRowsInTable; i++)
{
DataRow dr = ds.Tables[0].NewRow();
for (int k = 0; k < dt.Columns.Count; k++)
{
dr[k]= dt.Rows[i][k];
}
ds.Tables[0].Rows.Add(dr);
}
for (int j = noOfRowsInTable; j < dt.Rows.Count; j++)
{
DataRow dr1 = ds.Tables[1].NewRow();
for (int l = 0; l < dt.Columns.Count; l++)
{
dr1[l] = dt.Rows[j][l];
}
ds.Tables[1].Rows.Add(dr1);
}
}

}
return ds;
}

catch (Exception ex)
{
lblDate.Text = ex.Message;
return ds;
}

}

Advertisements
%d bloggers like this: