我想在dataGridView中进行搜索。我通过以下方式取出数据:
private void button1_Click(object sender, EventArgs e)
{
FileStream f1 = new FileStream("zapis.dat", FileMode.Open);
BinaryReader br = new BinaryReader(f1);
int а = 0;
while (f1.Position < f1.Length)
{
string data = br.ReadString();
string sing = br.ReadString();
string avtor = br.ReadString();
string zagl = br.ReadString();
string janr = br.ReadString();
string ezik = br.ReadString();
dataGridView1.Rows.Add(++а, sing, avtor, zagl, janr, ezik, data);
}
f1.Close();
}
对于搜索,我使用:
private void textBox1_TextChanged(object sender, EventArgs e)
{
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter =
string.Format("Name LIKE '{0}%' OR Name LIKE '% {0}%'", textBox1.Text);
}
当我在texhtBox中编写代码时,我会犯错:
System.NullReferenceException:'对象引用未设置为 对象的实例。'
(...作为System.Data.DataTable)返回null。
有人可以帮我吗?如何做到这一点?
答案 0 :(得分:0)
首先,您需要将DataTable声明为对象,然后声明DefaultView。 例如
DataTable dt = tDAL.Search(keyword);
dgvTalents.ItemsSource = dt.DefaultView;
tDAL是我的仓库中有查询的方法。