我已经通过工具箱创建了一个简单的DataGridView
,并通过向导从数据库中选择了数据(.cs文件中没有代码)。它运行得非常完美,如下图所示:
现在我想按联系人姓名过滤其中的条目。我有一个文本框和搜索按钮,因此当用户输入“联系人姓名”(如“Altaf”),然后单击搜索时,GridView
应该会刷新,只有带有ticketid=4
的条目才会出现。
.cs文件(自动生成)中的唯一代码是:
private void Form2_Load(object sender, EventArgs e)
{
this.tblTicketDetailTableAdapter.Fill(this.sTDataSet1.tblTicketDetail); //auto-generated
}
我按照某人的建议在ButtonClick
事件中尝试了此操作,但它生成了以下错误:"Cannot interpret token '{' at position 27"
BindingSource bs = new BindingSource();
bs.DataSource = dataGridView1.DataSource;
bs.Filter = issuerNameDataGridViewTextBoxColumn + "like '%" + txtbxSearch.Text.Trim().Replace("'", "''") + "%'";
dataGridView1.DataSource = bs.DataSource;
我没有DataGridViews
或WinForms编码的经验,所以请详细解释。
4条答案
按热度按时间lymnna711#
谢谢大家回答我的问题,我真的很感谢你们的帮助伙计们。你们是最有帮助的一群。
我通过对代码进行以下修改解决了问题:
再次感谢您的评分
ktecyv1j2#
试试看:
nhjlsmyf3#
我希望我能解决你的问题
taor4pac4#
如果没有数据源,可以使用
dataGridView1.Rows[iIndex].Visible
来过滤dataGridView。但是如果启用了列宽的AutoSizeMode,这可能会非常慢。(至少我遇到了这个问题)。解决方法是暂时关闭
AutoSizeMode
,这样过滤速度会很快: