C # DataGridView.Rows.ToString () - PullRequest
       15

C # DataGridView.Rows.ToString ()

3 голосов
/ 27 октября 2011

Я пытаюсь сохранить значения каждой из моих строк в строке.

Если я пытаюсь сделать DataGridView.Rows.ToString(), я получаю

System.Windows.Forms.DataGridViewRowCollection

Даже близко не к тому, чтонужно.

Есть идеи?

Ответы [ 4 ]

4 голосов
/ 27 октября 2011

Я думаю, что вы ищете что-то для каждой строки. Если это так, я предлагаю следующее.

  private static IEnumerable<string> GetRowValues(this DataGridView dgv)
  {
     var list = new List<string>(dgv.Rows.Count);
     foreach (DataGridViewRow row in dgv.Rows)
     {
        var sb = new StringBuilder();
        foreach (DataGridViewCell cell in row.Cells)
        {
           sb.Append(cell.ToString());
        }
        list.Add(sb.ToString());
     }
     return list.AsReadOnly();
  }
2 голосов
/ 27 октября 2011

Используйте для каждого оператора, чтобы перебрать каждую строку в Datagridview.

foreach (DataGridViewRow datarow in dataGridView.Rows)
{
    string col1 = datarow.Cells["Col1"].Value.ToString();
    string col2 = datarow.Cells["Col2"].Value.ToString();
    string col3 = datarow.Cells["Col3"].Value.ToString();
}
1 голос
/ 27 октября 2011

Вам нужно сделать что-то вроде этого:

StringBuilder sb = new StringBuilder();
for(int row=0; row<DataGridView.Rows.Count; row++)
{
    for(int col=0; col < DataGridView.Columns.Count; col++)
    {
        sb.Append(DataGridView.Row[row][col].ToString());
    }
}
sb.ToString(); // that will give you the string you desire

РЕДАКТИРОВАТЬ Я не проверял это, чтобы убедиться, что он работает, но он должен по крайней мере дать вам отправную точку.Кроме того, это даст вам все строки.Если вам нужна только одна строка, замените строку переменной на номер нужной вам строки (имейте в виду, что он начинается с нуля).

0 голосов
/ 27 октября 2011
Foreach(Var row in DataGridView.Rows)
{
    Foreach(Var cell in row.Cells)
    {
        Var str = cell; // this is the string you want
    }
}

Что-то вроде кода выше. Извините за форматирование набранное на iPad.

...