如何过滤数据视图

时间:2010-05-25 14:24:02

标签: c# dataview rowfilter

我有一个包含表列表的数据视图。我正在读取值列表,然后我想将其应用为此数据视图的过滤器。值列表实际上采用“table1,table2,table3”的形式。所以我想我可以将它用作数据视图的过滤器。

SqlOp.CommandText = "select name from dbo.sysobjects where xtype='u'";
SqlOp.ExecuteDataReader();
DataView dv = SqlOp.GetDataAsDataView();
SqlOp.CloseConnection();

返回数据视图中所有表的列表。有关如何过滤此数据视图的任何帮助吗?

修改
不确定我是否完全清楚我想要完成的任务。为了澄清,我试图弄清楚如果.RowFilter将如何帮助我过滤此数据视图。类似的东西:

dv.RowFilter = "name IN (table1, table2, table3)"    // I know this doesn't work

2 个答案:

答案 0 :(得分:1)

你必须使用like statement

"select name from dbo.sysobjects where xtype like 'u%'"

同样使用参数集合

More Efficient Way of Adding Parameters to a SqlCommand .NET

答案 1 :(得分:1)

我发现了.RowFilter问题:

dv.RowFilter = "name IN ('table1', 'table2', 'table3')    // missing the single quote surrounding table names