Чтение данных из DataGridView в C # - PullRequest
18 голосов
/ 27 июня 2011

Как я могу прочитать данные из DataGridView в C #? Я хочу прочитать данные отображаются в таблице. Как мне перемещаться по линиям?

Ответы [ 5 ]

44 голосов
/ 27 июня 2011

что-то вроде

for (int rows = 0; rows < dataGrid.Rows.Count; rows++)
{
     for (int col= 0; col < dataGrid.Rows[rows].Cells.Count; col++)
    {
        string value = dataGrid.Rows[rows].Cells[col].Value.ToString();

    }
} 

пример без использования индекса

foreach (DataGridViewRow row in dataGrid.Rows)
{ 
    foreach (DataGridViewCell cell in row.Cells)
    {
        string value = cell.Value.ToString();

    }
}
10 голосов
/ 22 января 2012

При желании вы также можете использовать имена столбцов вместо номеров столбцов.

Например, если вы хотите прочитать данные из DataGridView в строке 4. и столбце «Имя». Это дает мне лучшее понимание того, с какой переменной я имею дело.

dataGridView.Rows[4].Cells["Name"].Value.ToString();

Надеюсь, это поможет.

2 голосов
/ 27 июня 2011
string[,] myGridData = new string[dataGridView1.Rows.Count,3];

int i = 0;

foreach(DataRow row in dataGridView1.Rows)

{

    myGridData[i][0] = row.Cells[0].Value.ToString();
    myGridData[i][1] = row.Cells[1].Value.ToString();
    myGridData[i][2] = row.Cells[2].Value.ToString();

    i++;
}

Надеюсь, это поможет ....

1 голос
/ 27 июня 2011

Пример кода: чтение данных из DataGridView и сохранение их в массиве

int[,] n = new int[3, 19];
for (int i = 0; i < (StartDataView.Rows.Count - 1); i++)
{
    for (int j = 0; j < StartDataView.Columns.Count; j++)
    {
        if(this.StartDataView.Rows[i].Cells[j].Value.ToString() != string.Empty)
        {
            try
            {
                n[i, j] = int.Parse(this.StartDataView.Rows[i].Cells[j].Value.ToString());
            }
            catch (Exception Ee)
            { //get exception of "null"
                MessageBox.Show(Ee.ToString());
            }
        }
    }
}
0 голосов
/ 27 марта 2013
 private void HighLightGridRows()
 {            
     Debugger.Launch();
     for (int i = 0; i < dtgvAppSettings.Rows.Count; i++)
     {
         String key = dtgvAppSettings.Rows[i].Cells["Key"].Value.ToString();
         if (key.ToLower().Contains("applicationpath") == true)
         {
             dtgvAppSettings.Rows[i].DefaultCellStyle.BackColor = Color.Yellow;
         }
     }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...