Datatable DB = NULL;
Datatable dt = Ds. Tables [0];
//// Merge two data tables
DB = DT. Copy ();
Datarow [] foundrows = DT. Select ();
For (INT I = 0; I <foundrows. length; I ++)
{
DB. importrow (foundrows [I]);
}
- // Merge DT with the same structure
- Datatable ableable1 = new datatable ();
- Datatable ableable2 = new datatable ();
- Datatable newdatatable = datatable1.clone ();
- Object [] OBJ = new object [newdatatable. Columns. Count];
- For (INT I = 0; I <ableable1.rows. Count; I ++)
- {
- Datatable1.rows [I]. itemarray. copyto (OBJ, 0 );
- Newdatatable. Rows. Add (OBJ );
- }
- For (INT I = 0; I <ableable2.rows. Count; I ++)
- {
- Datatable2.rows [I]. itemarray. copyto (OBJ, 0 );
- Newdatatable. Rows. Add (OBJ );
- }
- // Merge DT with different structures
- /// <Summary>
- /// Combine two different able columns into a new datatable
- /// </Summary>
- /// <Param name = "dt1"> Table 1 </param>
- /// <Param name = "dt2"> Table 2 </param>
- /// <Param name = "dtname"> name of the merged table </param>
- /// <Returns> </returns>
- Private datatable unitedatatable (datatable dt1, datatable dt2, string dtname)
- {
- Datatable dt3 = dt1.clone ();
- For (INT I = 0; I <dt2.columns. Count; I ++)
- {
- Dt3.columns. Add (dt2.columns [I]. columnname );
- }
- Object [] OBJ = new object [dt3.columns. Count];
- For (INT I = 0; I <dt1.rows. Count; I ++)
- {
- Dt1.rows [I]. itemarray. copyto (OBJ, 0 );
- Dt3.rows. Add (OBJ );
- }
- If (dt1.rows. Count> = dt2.rows. Count)
- {
- For (INT I = 0; I <dt2.rows. Count; I ++)
- {
- For (Int J = 0; j <dt2.columns. Count; j ++)
- {
- Dt3.rows [I] [J + dt1.columns. Count] = dt2.rows [I] [J]. tostring ();
- }
- }
- }
- Else
- {
- Datarow dr3;
- For (INT I = 0; I <dt2.rows. Count-dt1.rows. Count; I ++)
- {
- Dr3 = dt3.newrow ();
- Dt3.rows. Add (dr3 );
- }
- For (INT I = 0; I <dt2.rows. Count; I ++)
- {
- For (Int J = 0; j <dt2.columns. Count; j ++)
- {
- Dt3.rows [I] [J + dt1.columns. Count] = dt2.rows [I] [J]. tostring ();
- }
- }
- }
- Dt3.tablename = dtname; // sets the DT name.
- Return dt3;
- }
- // Merge multiple data tables with the same structure
- Public datatable getallentrysdatatable ()
- {
- Datatable newdatatable = getentrysdatatable (0). Clone ();
- Object [] OBJ = new object [newdatatable. Columns. Count];
- For (INT I = 0; I <entrygroups. getentrygroupcount (); I ++)
- {
- For (Int J = 0; j <getentrysdatatable (I). Rows. Count; j ++)
- {
- Getentrysdatatable (I). Rows [J]. itemarray. copyto (OBJ, 0 );
- Newdatatable. Rows. Add (OBJ );
- }
- }
- Return newdatatable;
- }