Adding Datarow between rows?

How can I add rows between existing rows in a datatable? Thanks

+4
source share
2 answers

dataTable .Rows.InsertAt (row DataRow, position int) ;


Example:

using System; using System.Collections.Generic; using System.Text; using System.Data; namespace ConsoleApplication1 { class Program { static DataTable getDataTable() { DataTable table = new DataTable(); table.Columns.Add("userID", typeof(int)); table.Columns.Add("userName", typeof(string)); table.Columns.Add("isAwesome", typeof(bool)); return table; } static DataRow getRow(DataTable table, int userID, string userName, bool isAwesome) { DataRow row = table.NewRow(); row["userID"] = userID; row["userName"] = userName; row["isAwesome"] = isAwesome; return row; } static void printTable(DataTable table) { foreach (DataRow row in table.Rows) { foreach (object val in row.ItemArray) { Console.Write("{0}, ", val); } Console.WriteLine(); } } static void Main(string[] args) { DataTable table = getDataTable(); table.Rows.Add(getRow(table, 1, "Juliet", true)); table.Rows.Add(getRow(table, 2, "Sean Hannity", false)); table.Rows.Add(getRow(table, 3, "Charles Darwin", true)); Console.WriteLine("Before:"); printTable(table); // adding a row at index 1, between me and Sean Hannity Console.WriteLine("------------\nAfter:"); DataRow barackRow = getRow(table, 4, "Barack Obama", true); table.Rows.InsertAt(barackRow, 1); printTable(table); Console.Write("Press any key. . ."); Console.ReadKey(true); } } } 
+13
source

Example:

  DataTable table = new DataTable(); table.Columns.Add("a", typeof(int)); DataRow r = table.NewRow(); r[0] = 10; table.Rows.Add(r); r = table.NewRow(); r[0] = 12; table.Rows.InsertAt(r, 0); 
+2
source

Source: https://habr.com/ru/post/1286686/


All Articles