我的datagridview充满了数据库表中的主要字段。
DataTable dt2 = db.select("select fname,lname from tbl_actor");
dataGridView1.DataSource = dt2;
通过单击datagridview,所有记录字段将显示在单独的文本框中。
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
DataTable dt3=new DataTable();
dt3.Clear();
dt3 = db.select("select * from tbl_actor where fname='" +dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'and lname='" + dataGridView1.CurrentRow.Cells[1].Value.ToString() + "'");
tbxtemp1.Text = dt3.Rows[0][1].ToString();
tbxtemp2.Text = dt3.Rows[0][2].ToString();
tbxtemp3.Text = dt3.Rows[0][3].ToString();
}
可以。但是我们还有另一个文本框可以过滤datagridview的内容
private void textBox1_TextChanged(object sender, EventArgs e)
{
DataTable dt2 = db.select("select * from tbl_actor where fname like '%" +textBox1.Text+"%'");
dataGridView1.DataSource = dt2;
}
问题在这里。显示过滤的数据后,dataGridView1_CellContentClick事件停止并出现错误。
“位置0没有行”
我知道问题出在数据表上,但不知道如何解决