Нахождение события щелчка столбца кнопки DGV и перенос в другую форму - PullRequest
0 голосов
/ 29 августа 2011

У меня есть представление таблицы данных с четырьмя столбцами:

productid 
productname
productprice
buy (this is button column )

Можно ли найти событие нажатия для столбца кнопки?Я имею в виду, что если я нажму кнопку строки 1, соответствующие значения строки будут перенесены в другую форму.

Если я нажму кнопку строки 2, соответствующие значения будут перенесены в другую форму.Я делаю приложения WinForms.Будем благодарны за любые идеи или примеры кода.

Ответы [ 2 ]

2 голосов
/ 29 августа 2011

Ответ на странице MSDN для DataGridViewButtonColumn .

Вам необходимо обработать события CellClick или CellContentClick объекта DataGridView.

Чтобы присоединить обработчик:

dataGridView1.CellClick += new DataGridViewCellEventHandler(dataGridView1_CellClick);

И код в методе, который обрабатывает evend

void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    // Check that the button column was clicked
    if (dataGridView1.Columns[e.ColumnIndex].Name == "MyButtonColumn")
    {
        // Here you call your method that deals with the row values
        // you can use e.RowIndex to find the row

        // I also use the row's databounditem property to get the bound
        // object from the DataGridView's datasource - this only works with
        // a datasource for the control but 99% of the time you should use 
        // a datasource with this control
        object item = dataGridView1.Rows[e.RowIndex].DataBoundItem;

        // I'm also just leaving item as type object but since you control the form
        // you can usually safely cast to a specific object here.
        YourMethod(item);
    }
}
0 голосов
/ 29 августа 2011

используя ячейку проверки, вы можете получить (столбец и строку ячейки). Инициализируйте кнопку как объект кнопки выигрышных форм, а также добавьте обработчик, который вызывает событие click того же самого объекта.

...