событие нажатия кнопки в сетке данных - PullRequest
4 голосов
/ 02 сентября 2011

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

Ответы [ 2 ]

7 голосов
/ 02 сентября 2011

Вы не можете реализовать событие нажатия кнопки для ячеек кнопки в DataGridViewButtonColumn.Вместо этого вы используете событие CellClicked DataGridView и определяете, сработало ли событие для ячейки в вашем DataGridViewButtonColumn.Используйте свойство события DataGridViewCellEventArgs.RowIndex, чтобы узнать, какая строка была нажата.

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) {
    // Ignore clicks that are not in our 
    if (e.ColumnIndex == dataGridView1.Columns["MyButtonColumn"].Index && e.RowIndex >= 0) {
        Console.WriteLine("Button on row {0} clicked", e.RowIndex);
    }
}

Документация MSDN для класса DataGridViewButtonColumn содержит более полный пример.

1 голос
/ 17 июля 2017

использовать dataGridView1_CellContentClick вместо dataGridView1_CellClick

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

    if (e.ColumnIndex == 8) //make sure button index here
    {
          //write your code here
    }

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