
你好,软糖来回答把。
代码已通过测试。
一、获取第一个匹配行
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 如何自动获取所有行的值..等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)