这是我的代码:
private void textBox1_TextChanged(object sender, EventArgs e)
{
DataView dv = new DataView(dt);
dv.RowFilter = string.Format("Produkt LIKE '%{0}%' Or Model LIKE '%{0}%' Or Firma LIKE '%{0}%' ", textBox1.Text);
dataGridView1.DataSource = dv;
foreach (string s in dv)
{
list.Add(s);
}
if (textBox1.Text.Length == 0)
{
list.Clear();
}
}
程序中没有任何错误,所以我可以运行它。但是,当我将一些文本放入文本框时,我收到的错误是这样的:“无法将'System.Data.DataRowView'类型的对象强制转换为'System.String'”。
你能告诉我,我做错了吗?。
答案 0 :(得分:3)
您无法执行string s in dv
,因为dv包含的DataRowViews
集合不是字符串。您需要从DataRowView
中的列/列中获取字符串。
答案 1 :(得分:3)
你试图将DataRowView
转换为字符串,这是不可能的,我认为这不是你想要的。
foreach (DataRowView row in dv)
{
list.Add(row["Model"].ToString()); //this will add models from selected rows to list
}