DataGridView列表有两行记录,如何根据id过滤出其中一条记录?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataGridView列表有两行记录,如何根据id过滤出其中一条记录?相关的知识,希望对你有一定的参考价值。

参考技术A string ID = "01";//要过滤掉的记录的id
foreach (DataGridViewRow dgr in dataGridView1.Rows)//遍历所有记录

if (dgr.Cells["id"].Value.ToString() == ID)//判断id列的值是否等于ID的值

dataGridView1.Rows.Remove(dgr);//从DataGridView中移除该记录

追问

必须遍历吗?那如果记录很多呢 效率不是很di

追答

这就是查找效率的问题的,这个属于顺序查找,还有二分查找、分块查找、哈希法等一些查找方法,通常是有利有弊,根据实际的情况选择查找方法就能相对地提成效率

找到了加个break退出循环,避免出错的同时,还省了不必要的查找

本回答被提问者和网友采纳

如何让c#winform 根据datagridview数据筛选 filter

微软自带的datagridview并没有filter功能,要么换个第三方控件,要么自己重新封装,自己实现。 参考技术A 1、筛选某个字段满足指定条件的记录
DataView dv = myDs.Tables[0].DefaultView;
dv.RowFilter = "Year=1427";
gv.DataSource = dv;
Year这个是myDs.Tables[0]的一个字段。这样就是只有Year的值等于1427的记录绑定gv控件。
2、用RowFilter对指定列进行模糊匹配
我们都知道sql语句里面有like '%x%' 这样的表达式可以对列进行模糊查询。其实DataView的RowFilter也可以的代码:
dv.RowFilter="Name like '%lanhusoft%'";
这样dv只显示Name字段包含lanhusoft的数据行。
3、多个条件筛选行
RowFilter还可以有多个条件,比如:
dv.RowFilter="Name like '%lanhusoft%' and Year=1427","and"将两个条件结合起来了,表示只返回两个条件要同时满足的
的行记录。

以上是关于DataGridView列表有两行记录,如何根据id过滤出其中一条记录?的主要内容,如果未能解决你的问题,请参考以下文章

如何在按钮单击时更新datagridview中的记录?

如何让c#winform 根据datagridview数据筛选 filter

datagridview如何显示行号

如何实现DataGridView刷新数据?

仅根据所选的列表框项加载DataGridView一次

如何根据给定的格式在 pig 中组合两行?