Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用DataView的RowFilter使用关键字“IN”来筛选集合_C#_Dataview_Rowfilter - Fatal编程技术网

C# 如何使用DataView的RowFilter使用关键字“IN”来筛选集合

C# 如何使用DataView的RowFilter使用关键字“IN”来筛选集合,c#,dataview,rowfilter,C#,Dataview,Rowfilter,我想筛选在DataView中填充的集合。我使用的控件是一个多选复选框组合框。由此返回的字符串是“val1,val2,val3”。然后将其传递给sql查询语句,以便能够用作我的FilterExpression。但是,将我的表达式分配给dataView.RowFilter=somethingFilterString时,如果我的表达式在val1、val2、val3中是某个内容,则会出现一个找不到列val1的错误。如果val1、val2、val3的值是字符串,例如苹果、梨、香蕉,那么您需要查询文本来显示

我想筛选在DataView中填充的集合。我使用的控件是一个多选复选框组合框。由此返回的字符串是“val1,val2,val3”。然后将其传递给sql查询语句,以便能够用作我的FilterExpression。但是,将我的表达式分配给dataView.RowFilter=somethingFilterString时,如果我的表达式在val1、val2、val3中是某个内容,则会出现一个找不到列val1的错误。如果val1、val2、val3的值是字符串,例如苹果、梨、香蕉,那么您需要查询文本来显示它们是字符串,否则必须假设它们是列名

如果您正在这样构建逗号分隔列表:

var csv = string.Join(",", comboBox.SelectedValues); //guess on combo box property
。。。然后,您可以执行类似的操作来获取带引号的值:

[Test]
public void SO6680770()
{
    var cols = new[] { "apples", "pears", "bananas" };

    var csv = string.Join(", ", cols.Select(s => string.Concat("'", s, "'")));

    Assert.AreEqual("'apples', 'pears', 'bananas'", csv);
}

我猜你在比较字符串-你在val1'val1'周围加引号了吗?