Как получить значение ячейки 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());
}
}
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());
}