我试图将我的查询结果导入datagridview我设法进行添加,更新和删除但是我在“查找”查询中有点麻烦,我使用了querybuilder并编写了查询并执行它但是在gridview中显示表数据的相同代码我什么都没得到,我希望datagridview只显示搜索结果 我使用sql express 2008
提前感谢:)
这是我的更新查询:
ownersTBLTableAdapter1.UpdateQuery(name_txtbox.Text,phone_txtbox.Text);
this.ownersTBLTableAdapter1.Fill(this.rtmS_DS1.OwnersTBL);
这是一个无用的代码:
private void search_tlstb_txtbox_TextChanged(object sender, EventArgs e)
{
ownersTBLTableAdapter1.FindQuery(search_tlstb_txtbox.Text);
this.ownersTBLTableAdapter1.Fill(this.rtmS_DS1.OwnersTBL);
}
答案 0 :(得分:1)
首先我假设您正在使用DataSet
所以你可以使用像
这样的东西ownersTBLTableAdapter1.Fill(rtmS_DS1.OwnersTBL);
dataGridView1.DataSource = rtmS_DS1.OwnersTBL;
在您的文字更改事件中,您可以将过滤器应用于默认视图
所以如果DataSet类型是DS1那么它将是
(dataGridView1.DataSource as DS1.OwnersTBL).DefaultView.RowFilter = string.Format("Field = '{0}'", search_tlstb_txtbox.Text);
和“Field”应替换为您的列名
之后再次阅读更换了 string.Format(“Field ='{0}'”,search_tlstb_txtbox.Text)与 string.Format(“Field LIKE'%{0}%'”,search_tlstb_txtbox.Text)
虽然
可能会让你得到你想要的东西有任何问题让我知道
答案 1 :(得分:0)
终于有效了
private void search_tlstb_txtbox_TextChanged(object sender, EventArgs e)
{
if (search_tlstb_txtbox.Text != string.Empty && owners_dgv.RowCount > 0)
{
for (int i = 0; i < owners_dgv.Rows.Count - 1; i++)
{
for (int j = 0; j < owners_dgv.Rows[i].Cells.Count; j++)
{
if (owners_dgv.Rows[i].Cells[j].Value.ToString().Contains(search_tlstb_txtbox.Text))
{
owners_dgv.Rows[i].Visible = true;
break;
}
else
{
owners_dgv.CurrentCell = null;
owners_dgv.Rows[i].Visible = false;
}
}
}
}
else
this.OwnersTBLTableAdapter1.Fill(this.rtmS_DS1.OwnersTBL);
}