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;//返回
}
}
}
}
}
