Как получить значение ячейки DataGridView в messagebox?

Как я могу получить значение ячейки DataGridView для записи в MessageBox в C#?

8 ответов


можно использовать DataGridViewCell.Значение свойство для извлечения значения, хранящегося в определенной ячейке.

таким образом, чтобы получить значение "первой" выбранной ячейки и отобразить в MessageBox, вы можете:

MessageBox.Show(dataGridView1.SelectedCells[0].Value.ToString());

выше, наверное, не совсем то, что вам нужно сделать. Если вы предоставите более подробную информацию мы можем предоставить лучшую помощь.


private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value != null)
    {
       MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
    }
}

MessageBox.Show(" Value at 0,0" + DataGridView1.Rows[0].Cells[0].Value );

   private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
        MessageBox.Show(Convert.ToString(dataGridView1.CurrentCell.Value));
    }

немного поздно, но надеюсь, что это помогает


      try
        {

            for (int rows = 0; rows < dataGridView1.Rows.Count; rows++)
            {

                for (int col = 0; col < dataGridView1.Rows[rows].Cells.Count; col++)
                {
                    s1 = dataGridView1.Rows[0].Cells[0].Value.ToString();
                    label20.Text = s1;
                }
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("try again"+ex);
        }

Я добавил Это к кнопке datagrid, чтобы получить значения ячеек в строке, которую пользователь нажимает:


string DGCell = dataGridView1.Rows[e.RowIndex].Cells[X].Value.ToString();

где X-ячейка, которую вы хотите проверить. Счетчик столбцов Datagrid начинается с 1, а не 0 в моем случае. Не уверен, что это значение по умолчанию datagrid или потому, что я использую SQL для заполнения информации.


суммировать все ячейки

        double X=0;
        if (datagrid.Rows.Count-1 > 0)
        {
           for(int i = 0; i < datagrid.Rows.Count-1; i++)
            {
               for(int j = 0; j < datagrid.Rows.Count-1; j++)
               {
                  X+=Convert.ToDouble(datagrid.Rows[i].Cells[j].Value.ToString());
               }
            } 
        }

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
           int rowIndex = e.RowIndex;
            DataGridViewRow row = dataGridView1.Rows[rowIndex];
            MessageBox.Show(row.Cells[rowIndex].Value.ToString());
    }