Как скрыть строку DataGridView при нажатии на DataGridViewColumnButton? - PullRequest
0 голосов
/ 10 августа 2011

Я добавил DataTable к DataGridView в WinForms SystemTray App. У меня есть две кнопки в каждом ряду, такие как «Публичный» и «Игнорировать». Когда я нажимаю любую из двух кнопок, конкретная строка, у которой кнопки имеют одинаковый индекс, должна быть скрыта.

1 Ответ

1 голос
/ 10 августа 2011

Если вы хотите скрыть DataGridViewRow, в котором пользователь нажал кнопку, используйте событие DataGridView CellClick, например:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) {
    // After you've verified that the column clicked contains the button you want to use to hide rows...

    CurrencyManager currencyManager1 = (CurrencyManager)BindingContext[dataGridView1.DataSource];
    currencyManager1.SuspendBinding();

    dataGridView1.Rows[e.RowIndex].Visible = false;

    currencyManager1.ResumeBinding();
}

Обратите внимание, что вам необходимо приостановить привязку данных, чтобы установить для свойства строки Visible значение false.

Чтобы отобразить все скрытые строки, перепривязать DataGridView:

dataGridView1.DataSource = null;         
dataGridView1.DataSource = yourDataTable;
...