DataGridView цикл строки и доступ к данным ячейки - PullRequest
2 голосов
/ 07 декабря 2011

У меня есть DataGridView, заполненный из базы данных, и мне нужно взять каждую строку и создать из нее объект.Я не могу понять, как это сделать.

DataGridView Columns: Name Price ProductId Condition MemberId Description

У меня есть код:

foreach(DataGridViewRow row in members_dg.rows)
{
    foreach(DataGridViewCell cell in row.Cells)
    {
        // need to get info. This should show u what im looking for. 
        //string name = cell1.Text;
        //string price = cell2.Text;
        //etc
        //Member member = new Member(name, price, ...);
    }
}

Ответы [ 2 ]

2 голосов
/ 07 декабря 2011

Может быть, это?

foreach(DataGridViewRow row in members_dg.rows)
{
  // need to get info. This should show u what im looking for. 
  string name = row.Cells[0].Value.ToString();  // first column
  string price = row.Cells[1].Value.ToString();  // second column
  //etc
  Member member = new Member(name, price, ...);
}

Вам не нужно перебирать каждую ячейку, просто вызовите индекс ячейки для строки, в которой вы находитесь.

0 голосов
/ 07 декабря 2011
if(cell.OwningColumn.IsDataBound)
{
    Member member = new Member();
    //switch statement or you can use reflection
    switch(cell.OwningColumn.DataPropertyName)
    {
        case "name":
             member.Name=cell.Value;//need cast
        ....
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...