一、 C#在dataGridView中遍历,寻找相同的数据并定位 this
[c-sharp] view plain copy 对象
int row = dataGridView1.Rows.Count;//获得总行数 字符串
int cell=dataGridView1.Rows[1].Cells.Count;//获得总列数 string
for (int i = 0; i < row; i++)//获得总行数并在以内循环 变量
{ object
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;//返回
}
}
}
}
}