我已经从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都没有过滤。 我环顾四周但找不到任何可以暗示出错的地方。
答案 0 :(得分:0)
解决。事实证明有人添加了在我之后执行的重新加载数据的代码。所以它被加载,过滤,然后重新加载。
感谢您的帮助。