2011-07-07 6 views

答えて

35
var list = dataTable.Rows.OfType<DataRow>() 
    .Select(dr => dr.Field<string>(columnName)).ToList(); 

[編集:これはコンパイルできない場合は、プロジェクトにSystem.Data.DataSetExtensionsへの参照を追加します]

+5

AsEnumerable()は、同様のDataTableに取り組んでいます。 var list = dataTable.AsEnumerable()。(r => r.Field (columnName))を選択します。 –

+0

'DataTable.AsEnumerable()'がコンパイルされない場合は、プロジェクトにSystem.Data.DataSetExtensionsへの参照を追加してください。 – Brk

+0

'columnName'がわからない場合はどうすればいいですか? – chiapa

6

ここでは行きます。あなたが最初の列

  var list = (from x in defaultDataTable.AsEnumerable() 
        where x.Field<string>(1) == something 
        select x.Field<string>(1)).ToList(); 
5

が必要な場合は

  DataTable defaultDataTable = defaultDataSet.Tables[0]; 
      var list = (from x in defaultDataTable.AsEnumerable() 
        where x.Field<string>("column1") == something 
        select x.Field<string>("column2")).ToList(); 

が、これは何が必要ですか?

DataTable myDataTable = new DataTable(); 
List<int> myList = new List<int>(); 
foreach (DataRow row in myDataTable.Rows) 
{ 
    myList.Add((int)row[0]); 
} 
+0

あなたの答えはほぼ正しいですが、質問は名前やリストを要求しています。 AaA

70

このお試しください:私はあなたのためのサンプルを作成し、私はこれが役に立つことを願う

static void Main(string[] args) 
{ 
    var dt = new DataTable 
    { 
     Columns = { { "Lastname",typeof(string) }, { "Firstname",typeof(string) } } 
    }; 
    dt.Rows.Add("Lennon", "John"); 
    dt.Rows.Add("McCartney", "Paul"); 
    dt.Rows.Add("Harrison", "George"); 
    dt.Rows.Add("Starr", "Ringo"); 

    List<string> s = dt.AsEnumerable().Select(x => x[0].ToString()).ToList(); 

    foreach(string e in s) 
     Console.WriteLine(e); 

    Console.ReadLine(); 
} 
+0

誰かがColumnsでReadOnlyエラーを受け取っていますか? – InteXX

+0

列「名前」からデータを取り出す方法は? – JerryGoyal

3

を...

static void Main(string[] args) 
    { 
     var cols = new string[] { "col1", "col2", "col3", "col4", "col5" }; 

     DataTable table = new DataTable(); 
     foreach (var col in cols) 
      table.Columns.Add(col); 

     table.Rows.Add(new object[] { "1", "2", "3", "4", "5" }); 
     table.Rows.Add(new object[] { "1", "2", "3", "4", "5" }); 
     table.Rows.Add(new object[] { "1", "2", "3", "4", "5" }); 
     table.Rows.Add(new object[] { "1", "2", "3", "4", "5" }); 
     table.Rows.Add(new object[] { "1", "2", "3", "4", "5" }); 

     foreach (var col in cols) 
     { 
      var results = from p in table.AsEnumerable() 
          select p[col]; 

      Console.WriteLine("*************************"); 
      foreach (var result in results) 
      { 
       Console.WriteLine(result); 
      } 
     } 


     Console.ReadLine(); 
    } 
関連する問題