C#在dataGridView中遍历,寻找相同的数据并定位


 

1、 C#在dataGridView中遍历,寻找相同的数据并定位

 

[c-sharp] view plain copy

int row = dataGridView1.Rows.Count;//得到总行数

int cell=dataGridView1.Rows[1].Cells.Count;//得到总列数

for (int i = 0; i < row; i++)//得到总行数并在之内循环

{

for (int j = 0; j < cell; j++)//得到总列数并在之内循环

{

if (txtFind.Text == dataGridView1.Rows.Cells[j].Value.ToString())

{ //对比TexBox中的值是否与dataGridView中的值相同(上面这句)

this.dataGridView1.CurrentCell = this.dataGridView1[j, i];//定位到相同的单元格

return;//返回

}

 

}

}

2 、可以实现模糊查询了

 

[c-sharp] view plain copy

int row = dataGridView1.Rows.Count;//得到总行数

int cell=dataGridView1.Rows[1].Cells.Count;//得到总列数

string strTxt = txtFind.Text;//得到输入的字符串,并付值给变量

Regex r = new Regex(strTxt); // 定义一个Regex对象实例

for (int i = 0; i < row; i++)//得到总行数并在之内循环

{

for (int j = 0; j < cell; j++)//得到总列数并在之内循环

{

Match m = r.Match(dataGridView1.Rows.Cells[j].Value.ToString()); // 在字符串中模糊匹配

if (m.Success)

{ //对比TexBox中的值是否与dataGridView中的值相同(上面这句)

dataGridView1.CurrentCell = dataGridView1[j,i];//定位到相同的单元格

return;//返回

}

 

}

}

3、可以决定是否还要继续查找了

 

[c-sharp] view plain copy

private void button3_Click(object sender, EventArgs e)

{

int row = dataGridView1.Rows.Count;//得到总行数

int cell=dataGridView1.Rows[1].Cells.Count;//得到总列数

string strTxt = txtFind.Text;//得到输入的字符串,并付值给变量

Regex r = new Regex(strTxt); // 定义一个Regex对象实例

for (int i = 0; i < row; i++)//得到总行数并在之内循环

{

for (int j = 0; j < cell; j++)//得到总列数并在之内循环

{

Match m = r.Match(dataGridView1.Rows.Cells[j].Value.ToString()); // 在字符串中模糊匹配

if (m.Success)

{ //对比TexBox中的值是否与dataGridView中的值相同(上面这句)

dataGridView1.CurrentCell = dataGridView1[j,i];//定位到相同的单元格

if (MessageBox.Show("是否需要继续查找?", "", MessageBoxButtons.OKCancel) == DialogResult.Cancel)

{

//如果选择了取消就会返回,如果选择了确定,就会继续查找匹配的.

return;//返回

}

}

}

}

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM