2009-06-24 14 views
4

어떻게 데이터 테이블의 기존 행 사이에 행을 추가 할 수 있습니까? 감사합니다.행 사이에 데이터row 추가 하시겠습니까?

+0

당신이 중간에 말인가요? 추가하지 마라 !!? 그렇다면 왜? –

+0

중간에 있습니다. 일부 데이터를 계산 한 다음 중간에 추가해야합니다. – subprime

답변

13

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


샘플 :

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); 
     }   
    } 
} 
+0

안녕 줄리엣! 샘플을 만들 수 있습니다. 괜찮을 겁니다. 감사합니다 – subprime

+0

몇 가지 샘플 코드를 추가했습니다 :) – Juliet

2

샘플 :

  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);