2014-01-31 37 views
0

我想從我的DataGridView中的所有數據創建一個列表<>。我是否需要首先創建/構造自定義List類?或者有沒有辦法從DataGridView系統地創建(結構化)列表<>?如何從我的DataGridView中的所有數據創建一個List <>?

謝謝。

編輯:目前我有以下,但它沒有做我所需要的。

public class MigratedDataItems 
    { 
     public string Name { get; set; } 
     public string DataType { get; set; } 
     public string MediaSize { get; set; } 
     public int NumItems { get; set; } 
     public int HandlingCost { get; set; } 
     public int UnitPrice { get; set; } 
     public int Total { get; set; } 
    } 


var migDataList = new List<VariablesClass.MigratedDataItems>(); 
     foreach (DataGridViewRow dgRow in dataGridView1.Rows) 
     { 
      migDataList.Add(new VariablesClass.MigratedDataItems 
      { 
       Name = dgRow.Cells[0].Value.ToString(), 
       DataType = dgRow.Cells[1].Value.ToString(), 
       MediaSize = dgRow.Cells[2].Value.ToString(), 
       NumItems = int.Parse(dgRow.Cells[3].Value.ToString()), 
       HandlingCost = int.Parse(dgRow.Cells[4].Value.ToString()), 
       UnitPrice = int.Parse(dgRow.Cells[5].Value.ToString()), 
       Total = int.Parse(dgRow.Cells[6].Value.ToString()) 
      }); 
     } 

回答

1

入住這link

谷歌是你的朋友伴侶。

List<MyItem> items = new List<MyItem>(); 
     foreach (DataGridViewRow dr in dataGridView1.Rows) 
     { 
      MyItem item = new MyItem(); 
      foreach (DataGridViewCell dc in dr.Cells) 
      { 
       ...build out MyItem....based on DataGridViewCell.OwningColumn and DataGridViewCell.Value 
      } 

      items.Add(item); 
     } 
0

上面的代碼幫助了我。我有下面的代碼,它將我所有的DataGridView值添加到自定義列表中<>。

class MigratedDataItems 
    { 
     public string Name { get; set; } 
     public string DataType { get; set; } 
     public string MediaSize { get; set; } 
     public int NumItems { get; set; } 
     public int HandlingCost { get; set; } 
     public int UnitPrice { get; set; } 
     public int Total { get; set; } 
    } 

public List<MigratedDataItems> QuoteList()      
    { 
     List<MigratedDataItems> migDataList = new List<MigratedDataItems>(); 
     foreach (DataGridViewRow dgRow in dataGridView1.Rows) 
     { 
      MigratedDataItems item = new MigratedDataItems(); 
      foreach (DataGridViewCell dc in dgRow.Cells) 
      { 
       if (dc.OwningColumn.Index == 0) { item.Name = dc.Value.ToString(); } 
       if (dc.OwningColumn.Index == 1) { item.DataType = dc.Value.ToString(); } 
       if (dc.OwningColumn.Index == 2) { item.MediaSize = dc.Value.ToString(); } 
       if (dc.OwningColumn.Index == 3) { item.NumItems = int.Parse(dc.Value.ToString()); } 
       if (dc.OwningColumn.Index == 4) { item.HandlingCost = int.Parse(dc.Value.ToString()); } 
       if (dc.OwningColumn.Index == 5) { item.UnitPrice = int.Parse(dc.Value.ToString()); } 
       if (dc.OwningColumn.Index == 6) { item.Total = int.Parse(dc.Value.ToString()); } 
      } 
      migDataList.Add(item); 
     } 
     return migDataList; 
    } 
1

如果您使用的數據源綁定你的列表,你可以回來轉換,

List<Class> myClass= DataGridView.Datasource as List<Class> ; 
相關問題