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

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

你好,软糖来回答把。

代码已通过测试。

一、获取第一个匹配行

public void 查找特定行() {

    // 用 Cast 将 dataGridView1 的所有行转化为 List<DataGridViewRow>

    var list = dataGridView1RowsCast<DataGridViewRow>();

    // 用 First 返回第一个匹配项符合条件xCells[0]Value 等于 灭火器的 Row

    var firstmatch = listFirst(x => xCells[3]Value != null 

    && xCells[3]ValueToString() == "灭火器"); 

    //firstmatchIndex即为索引,使其高亮显示

        dataGridView1Rows[firstmatchIndex]

        DefaultCellStyleBackColor = ColorYellow;

}

二、获取所有匹配行

// 用 Cast 将 dataGridView 的所有行转化为 List<DataGridViewRow>

var list = dataGridView1RowsCast<DataGridViewRow>();

// 用 Where 返回所有匹配项

var allmatch = listWhere(x => xCells[3]Value != null && xCells[3]ValueToString() == "灭火器");

//RowIndex即为索引,使其高亮显示

foreach (var item in allmatch) {

    dataGridView1Rows[itemIndex]

    DefaultCellStyleBackColor = ColorYellow;

}

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

获取datagridview的行号和列号的方法:

private void dataridView1_Cellnter(object sender, DatGridViwCellEventArgs e)

{

iTag = (int)thisTag;

//if (iTag == 4)

//{

//    if (eColumnIndex ==3)

//        MessageBoxShow("该列为只读列", "提示信息", MesageBoxButtonsOK,

MesageBoxIconInforation);

//}

//获取当前单元格行号和列号

string rowIndex = eRoIndexToString();

string colIdex = eColumnIdexToString();

}

dataGridView1SelectedRows,这个是或得背选中的行

如果你想去出背选中的话,那么可以遍历

foreach (DataGridViewRow dgvr in dataGridView1SelectedRows)

{

//dgvr 就是比背选中的行,遍历,我想你懂的dataGridView1SelectedRows是一个集合,取出每一行当然遍历

//获取或设置

string msg = dgvrCells[0]Value == null "" : dgvrCells[0]ValueToString();

//如果保证烈不为空

string msg2 = dgvrCells[2]ValueToString();

dgvrCells[2]Value=“更改的”;

}

dataGridView1SelectedColumns 是背选中的列,当然取出其中一烈是一样的

如果你要取出所有行的话。那么

foreach (DataGridViewRow dgvr in dataGridView1Rows)

{

//dgvr 就是比被选中的行,遍历,

}

取出列的方式一样

当然还有最常用的,获取所有单元格的值

for (int i = 0; i < dataGridView1RowsCount; i++)

{

for (int j = 0; j < dataGridView1ColumnsCount; j++)

{

if (dataGridView1Rows[i]Cells[j]Value != null)

{

string msg3 = dataGridView1Rows[i]Cells[j]ValueToString();//取出对应的单元格的值

MessageBoxShow(msg3);

}

}

}

只得注意的是,dategridview默认是有一行空值的,当你

dataGridView1Rows[i]Cells[j]Value,这个单元格为空的时候,那么就是null,如果你强制转换为字符串将会异常,所以推介

msg3 = dataGridView1Rows[i]Cells[j]Value==null"空":dataGridView1Rows[i]Cells[j]ValueToString()

肯定不能这么做,用户要是执行了排序之类的 *** 作这个编号就乱了。数据绑定的时候,就把id带过来绑定到一个列里面,如果你不想显示这个id,就将这一列隐藏,然后需要调用的时候直接取这个id的值就好。

好像是这样的

foreach(DataGridViewRow row in DataGridViewSelectedRows)

{

MessageBoxShow(rowcell[1]ValueToString());

}

以上就是关于c#如何获取dataGridView中特定行的行数。 比如 资产名称=灭火器 的行数.全部的内容,包括:c#如何获取dataGridView中特定行的行数。 比如 资产名称=灭火器 的行数.、如何获取datagridview行号和列号、C# dataGridView 如何自动获取所有行的值..等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9624782.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存