DataGridView根据字母删除匹配的行1.我有一个datagridives控件 读取了数据库内的数据后,有一个列(字段)是拼音码的,写入数据库时直接将客户名称转为拼音码写入到拼音码字段了。
2.我现在想在一个textbox控件里输入字母,然后根据这个字母和datagridview指定行和列的拼音码按从左到右比较,如果不匹配就删除这行。这样形成按拼音检索功能。
2.我现在想在一个textbox控件里输入字母,然后根据这个字母和datagridview指定行和列的拼音码按从左到右比较,如果不匹配就删除这行。这样形成按拼音检索功能。
BindingSource bs = new BindingSource();
bs.DataSource = 数据源(DataTable);
表格对象.DataSource = bs;
bs.Filter = "这里写上用户选择条件,表格就只显示用户选择的数据了";
//筛选属性支持=和like
//string.Format("str_Name like '*{0}*'", this.m_edtName.Text);
---------------------------
然后根据这个字母和datagridview指定行和列的拼音码按从左到右比较
---------------------------
什么叫从左到右比较?直接indexOf不行吗?
遍历datagridview的row,对指定的某几列cell检查匹配,是的话就datagridview.deleteRows[index]?
PS:我随便说说的,N年没弄过winform的飘过,听楼下舍得打开VS的弄出代码来吧,下班走淫咯·~
2.textchange事件里,可以Linq去操作DataGridView的数据源,然后重新绑定
2、在textchange事件内获取textbox的值a,根据a查询数据库 可以用模糊匹配 语句如下:
"select * from table where 拼音字段 like '"+a+"%' ";
3、将返回结果绑定DataGridView这样在每输入一个字母 都会对应更新一次DataGridView
坏处就是用户体验不好 每次输入会刷新
isjoe兄得方法不错 不过只能往少的匹配 而且偶尔不能根据输入动态筛选 还有语句应该是 '{0}*',而不是 '*{0}*',他需要从左往右匹配此外 二楼死猫 鉴定完毕