单击DataGridView列按钮时如何隐藏DataGridView的行?

时间:2011-08-10 18:23:57

标签: c# winforms datagridview datagridviewcolumn

我在WinForms SystemTray应用中向DataTable添加了DataGridView。我在每一行都有两个按钮,如“public”和“Ignore”。当我单击两个按钮中的任何一个按钮时,必须隐藏按钮具有相同索引的特定行。

1 个答案:

答案 0 :(得分:1)

如果要隐藏用户单击按钮的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;