如何使用关键字'IN'过滤收集

本文关键字:过滤 IN 何使用 关键字 | 更新日期: 2023-09-27 18:01:53

我想过滤在DataView中填充的集合。我为此使用的控件是一个多选择复选框组合框。返回的字符串是'val1, val2, val3'。然后将其传递给sql查询语句,以便能够用作我的FilterExpression。然而,当我的表达式分配给dataView。RowFilter = somethingFilterString,其中有我的表达式的东西IN (val1, val2, val3)是给出了一个错误,它无法找到列val1。任何人可以帮助请????

如何使用关键字'IN'过滤收集

如果val1, val2, val3的值是字符串(例如,"apples, pears, bananas"),那么您需要查询文本来显示它们是字符串,否则它必须假定它们是列名。

如果你像这样构建逗号分隔的列表:

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);
}