2014-01-31 3 views
0

Я хотел бы создать список <> из всех данных в моем DataGridView. Нужно ли сначала создавать/структурировать собственный класс List? Или существует способ систематического создания (структуры) списка <> из DataGridView?Как создать список <> из всех данных в DataGridView?

Спасибо.

Редактировать: В настоящее время у меня есть следующее, но оно не делает то, что мне нужно.

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

Google является вашим другим матом.

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

Если вы свяжете свой список с помощью DataSource, вы можете преобразовать обратно,

List<Class> myClass= DataGridView.Datasource as List<Class> ; 
Смежные вопросы