C# 如何使用DataView的RowFilter使用关键字“IN”来筛选集合
我想筛选在DataView中填充的集合。我使用的控件是一个多选复选框组合框。由此返回的字符串是“val1,val2,val3”。然后将其传递给sql查询语句,以便能够用作我的FilterExpression。但是,将我的表达式分配给dataView.RowFilter=somethingFilterString时,如果我的表达式在val1、val2、val3中是某个内容,则会出现一个找不到列val1的错误。如果val1、val2、val3的值是字符串,例如苹果、梨、香蕉,那么您需要查询文本来显示它们是字符串,否则必须假设它们是列名 如果您正在这样构建逗号分隔列表: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的值是字符串,例如苹果、梨、香蕉,那么您需要查询文本来显示
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'周围加引号了吗?