C#在dataGridView中遍历

1、 C#在dataGridView中遍历,寻找相同的数据并定位
 
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 、可以实现模糊查询了
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、可以决定是否还要继续查找了
    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;//返回  
                            }  
                        }  
                    }  
                }  
            }   
 

 本文为转载原博主原创文章     原文:https://blog.csdn.net/wang371756299/article/details/6410029 
 

猜你喜欢

转载自blog.csdn.net/penghao_1/article/details/86060002