DataGridView不使用DataView进行过滤

时间:2018-01-29 11:23:52

标签: c#

我已经从SQL查询中填充了一个DataTable,当我将它加载到DataGridView时它会正确显示:

private DataTable = new DataTable("cases");
.
.
.
using (var connection = new SqlConnection("select * from cases"))
{
    var adapter = new SqlDataAdapter(select, connection);
    var commandBuilder = new SqlCommandBuilder(adapter);
    adapter.Fill(CasesDataTable);

    dataGridViewCases.DataSource = CasesDataTable;
}

现在我有第二个DataGridView,我希望使用带有过滤器的相同数据填充它:

DataView dataView = new DataView(CasesDataTable);
dataView.RowFilter = "status = 'Opened'";
dataGridViewOpenCases.DataSource = dataView;

然而,它只显示所有数据,而不显示过滤后的数据。如果我做的话:

dataView.Sort = "name ASC";

它正确排序。无论出于何种原因,似乎RowFilter都没有过滤。 我环顾四周但找不到任何可以暗示出错的地方。

1 个答案:

答案 0 :(得分:0)

解决。事实证明有人添加了在我之后执行的重新加载数据的代码。所以它被加载,过滤,然后重新加载。

感谢您的帮助。