如何停止数据表 RowFilter 动态更新

How to stop datatable RowFilter dynamically updating

我有一个数据表,我正在用这个 rowfilter 过滤:

        requestsTableAdapter.Fill(iTSTDataSet.Requests);

        DataTable adt = iTSTDataSet.Requests;
        var adv = new DataView(adt);
        adv.RowFilter = "Closed = " + false;
        dataGridView1.DataSource = adv;

它完美地工作并过滤了 datatable,并且只显示 closed = false 所在的行。

问题是,当我单击复选框并将另一行设置为关闭时,该行将从 datagridview 自动消失。

我不想要它,我希望它在我单击按钮时更新视图。

我认为你有一个过滤器只显示未关闭的行(其中关闭 = false)所以你可能只想按 "Closed" 过滤然后选择升序或降序,其中之一可能是正确的解决方案

您不能推迟在 dataView 上添加行过滤器,直到您单击按钮为止吗?这应该允许您选中复选框以显示状态,但停止行消失,直到您希望它们消失。

这意味着您需要让 dataView 可以从命令来自的任何地方访问,但这不是一个太大的问题吗?

编辑

您可以在开始时使用数据 table select 来获取原始数据表减去关闭项: iTSTDataSet.Requests.Select("Closed = false")

然后在按下按钮时应用行过滤器