2011-02-07 57 views
0

我想將datatable轉換爲List。你能幫我解答一下嗎?DataTable select help

  var result = DataTable1.AsEnumerable().Select(e => {e.Field<int>("MID"), e.Field<string>("MTX")}).ToList(); 
     JavaScriptSerializer ser = new JavaScriptSerializer(); 
     string json = ser.Serialize(result); 

謝謝。

回答

1

您需要爲您提供Select調用中的屬性名稱。在這種特殊情況下,這些名稱不會自動而明確地解決。嘗試

var result = DataTable1.AsEnumerable().Select(row => new { Mid = row.Field<int>("Mid"), MTX = row.Field<string>("MTX") }); 
JavaScriptSerializer serializer = new JavaScriptSerializer(); 
string json = serializer.Serialize(result); 

這些名稱將成爲json結果的一部分。如

[{"Mid":1,"MTX":"A"},{"Mid":2,"MTX":"B"}] 
+0

謝謝安東尼。現在正在工作。 – nav100 2011-02-07 18:37:12

0
IEnumerable<DataRow> sequence = dt.AsEnumerable(); 

List<DataRow> list = dt.AsEnumerable().ToList(); 
0

嘗試:

var result = DataTable1.AsEnumerable() 
    .Select(e => new object[] { e.Field<int>("MID"), e.Field<string>("MTX") }) 
    .ToList();