c#如何获取dataGridView中特定行的行数。 比如 资产名称=灭火器 的行数.

 我来答
魔法软糖™
2019-05-03 · TA获得超过836个赞
知道小有建树答主
回答量:822
采纳率:94%
帮助的人:138万
展开全部

你好,软糖来回答把。

代码已通过测试。

一、获取第一个匹配行

public void 查找特定行() {
    // 用 .Cast 将 dataGridView1 的所有行转化为 List<DataGridViewRow>
    var list = dataGridView1.Rows.Cast<DataGridViewRow>();
    // 用 .First 返回第一个匹配项符合条件x.Cells[0].Value 等于 灭火器的 Row
    var firstmatch = list.First(x => x.Cells[3].Value != null 
    && x.Cells[3].Value.ToString() == "灭火器"); 
    //firstmatch.Index即为索引,使其高亮显示
        dataGridView1.Rows[firstmatch.Index]
        .DefaultCellStyle.BackColor = Color.Yellow;
}

二、获取所有匹配行

// 用 .Cast 将 dataGridView 的所有行转化为 List<DataGridViewRow>
var list = dataGridView1.Rows.Cast<DataGridViewRow>();
// 用 .Where 返回所有匹配项
var allmatch = list.Where(x => x.Cells[3].Value != null && x.Cells[3].Value.ToString() == "灭火器");
//Row.Index即为索引,使其高亮显示
foreach (var item in allmatch) {
    dataGridView1.Rows[item.Index]
    .DefaultCellStyle.BackColor = Color.Yellow;
}

对软糖的答案满意吗,请及时采纳,谢谢了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式