2016-11-30 59 views
1

所以,我有一个comoboBox1和textBox1的如何使用组合框和文本框过滤DataView RowFilter中的整数?

comboBox1设置成列从数据视图DV

的名称和textBox1的是关于搜索

所以,我想简单的代码是这样的:

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

和上面的代码效果很好

但后来我试图取代女娲城从comboBox1和textBox1,

将mber和%2%转换为类似这样的内容。

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

语法看起来不对,但你明白我的意思。

那么如何解决?

回答

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; 
+0

谢谢你,就像一个魅力。这可能是唯一使用参数作为我可以在互联网上找到的值的筛选器, –

+0

不客气:) –

+0

实际上,此代码筛选列的数据类型为字符串,整数和日期。 漂亮整洁,是吧? –