Как получить значение ячейки DataGridView в окне сообщения? - PullRequest
12 голосов
/ 06 апреля 2011

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

Ответы [ 8 ]

20 голосов
/ 20 ноября 2012
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());
    }
}
16 голосов
/ 06 апреля 2011

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

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

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

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

12 голосов
/ 06 апреля 2011
MessageBox.Show(" Value at 0,0" + DataGridView1.Rows[0].Cells[0].Value );
3 голосов
/ 29 июля 2016

Я добавил это к кнопке сетки данных, чтобы получить значения ячеек в строке, по которой щелкает пользователь:


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

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

3 голосов
/ 26 июня 2014
      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);
        }
3 голосов
/ 25 октября 2012
   private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
        MessageBox.Show(Convert.ToString(dataGridView1.CurrentCell.Value));
    }

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

2 голосов
/ 17 июня 2017

Сумма всех ячеек

        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());
               }
            } 
        }
0 голосов
/ 27 ноября 2017
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
           int rowIndex = e.RowIndex; // Get the order of the current row 
            DataGridViewRow row = dataGridView1.Rows[rowIndex];//Store the value of the current row in a variable
            MessageBox.Show(row.Cells[rowIndex].Value.ToString());//show message for current row
    }
...