Получить значение поля DataRow, которое было щелкнуто правой кнопкой мыши - PullRequest
0 голосов
/ 29 февраля 2012

Как мне извлечь значение поля в DataGridViewRow, если щелкнуть правой кнопкой мыши по определенной строке (открывая ContextMenuStrip)?

Спасибо.

Ответы [ 2 ]

1 голос
/ 29 февраля 2012

Следующий код установит CurrentCell там, где вы щелкнете правой кнопкой мыши

private void grd_MouseClick(object sender, MouseEventArgs e)
{
    try
    {
        if (e.Button == MouseButtons.Right)
        {
           DataGridView.HitTestInfo h =  grd.HitTest(e.X, e.Y);
           if (h != null && h.RowIndex >= 0 && h.ColumnIndex >= 0)
           {
               grd.CurrentCell = grd[h.ColumnIndex, h.RowIndex];
               grd.ContextMenuStrip.Show(grd, e.Location);
           }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Теперь, когда ContextMenuStrip у вас есть значение: grd.CurrentCell.Value;

0 голосов
/ 29 февраля 2012

Я думаю, что вы говорите о ячейке ... Если это так, используйте событие CellClick , в нем есть DataGridViewCellEventArgs, содержащие индексы столбцов и строк, их можно использовать для получения значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...