我希望在TextBox
中进行自动搜索。
当我搜索字符串时,此代码正在运行,但是当我搜索整数时,这是错误:
无法在System.Int32和System.String
上执行'Like'操作
我希望你能提供帮助,因为我现在需要它。
private void textBox1_TextChanged(object sender, EventArgs e)
{
DataView DV = new DataView(dataTable);
DV.RowFilter = string.Format("OrderNo LIKE '%{0}%'",textBox1.Text);
dataGridView1.DataSource = DV;
}
答案 0 :(得分:0)
您无法使用LIKE
运算符来比较数字。我假设您要查找匹配的订单ID:
DV.RowFilter = string.Format("OrderNo = {0}", textBox1.Text);
您可能还希望先使用int.TryParse()
来测试TextBox
中的值。
private void textBox1_TextChanged(object sender, EventArgs e)
{
int orderId;
if (!int.TryParse(textBox1.Text, out orderId))
return; // not a valid number
DataView DV = new DataView(dataTable);
DV.RowFilter = string.Format("OrderNo = {0}", orderId);
dataGridView1.DataSource = DV;
}
如果您真的想将订单ID与字符串进行比较,则必须先将其转换为:
DV.RowFilter
= string.Format("CONVERT(column3, System.String) LIKE '%{0}%'", textBox1.Text);