如何使用组合框和文本框过滤DataView RowFilter中的Integer?

时间:2016-11-30 16:53:48

标签: c# winforms dataview rowfilter

所以,我有一个comoboBox1和textBox1

comboBox1设置为dataview dv

中列的名称

,textBox1用于搜索

所以,我尝试了类似这样的简单代码:

dv.RowFilter = "Convert([City Number], System.String) LIKE '%2%'";

并且上面的代码效果很好

然后我尝试用comboBox1和textBox1中的值替换City Number和%2%,

这样的事情。

dv.RowFilter = "Convert([comboBox1.SelectedItem.ToString()], System.String) LIKE '%{0}%'", textBox1.Text;

语法似乎不对,但你知道我的意思。

那么如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以使用string.Format以这种方式制作过滤器表达式:

var column = comboBox1.GetItemText(comboBox1.SelectedItem);
var value = textBox1.Text;
var filter = string.Format("Convert([{0}], System.String) LIKE '%{1}%'", column, value);
dv.RowFilter = filter;