C# DataGridView遍历

1、 寻找相同的数据并定位.

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

 

posted @ 2018-01-09 14:35  都是城市惹的祸  阅读(2402)  评论(0)    收藏  举报