分享

C#在dataGridView中遍历

 Cloud书屋 2012-12-19

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

 

[c-sharp] view plaincopy?
  1. int row = dataGridView1.Rows.Count;//得到总行数    
  2.             int cell=dataGridView1.Rows[1].Cells.Count;//得到总列数    
  3.             for (int i = 0; i <  row; i++)//得到总行数并在之内循环    
  4.             {    
  5.                 for (int j = 0; j <  cell; j++)//得到总列数并在之内循环    
  6.                 {    
  7.                     if (txtFind.Text == dataGridView1.Rows.Cells[j].Value.ToString())    
  8.                     {   //对比TexBox中的值是否与dataGridView中的值相同(上面这句)    
  9.                         this.dataGridView1.CurrentCell = this.dataGridView1[j, i];//定位到相同的单元格    
  10.                         return;//返回    
  11.                     }    
  12.                       
  13.                 }    
  14.             }   

2 、可以实现模糊查询了

[c-sharp] view plaincopy?
  1. int row = dataGridView1.Rows.Count;//得到总行数    
  2.            int cell=dataGridView1.Rows[1].Cells.Count;//得到总列数    
  3.            string strTxt = txtFind.Text;//得到输入的字符串,并付值给变量    
  4.            Regex r = new Regex(strTxt); // 定义一个Regex对象实例     
  5.            for (int i = 0; i <  row; i++)//得到总行数并在之内循环    
  6.            {    
  7.                for (int j = 0; j <  cell; j++)//得到总列数并在之内循环    
  8.                {    
  9.                    Match m = r.Match(dataGridView1.Rows.Cells[j].Value.ToString()); // 在字符串中模糊匹配     
  10.                    if (m.Success)    
  11.                    {   //对比TexBox中的值是否与dataGridView中的值相同(上面这句)    
  12.                        dataGridView1.CurrentCell = dataGridView1[j,i];//定位到相同的单元格    
  13.                        return;//返回    
  14.                    }    
  15.                       
  16.                }    
  17.            }  

 

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

[c-sharp] view plaincopy?
  1. private void button3_Click(object sender, EventArgs e)    
  2.         {    
  3.             int row = dataGridView1.Rows.Count;//得到总行数    
  4.             int cell=dataGridView1.Rows[1].Cells.Count;//得到总列数    
  5.             string strTxt = txtFind.Text;//得到输入的字符串,并付值给变量    
  6.             Regex r = new Regex(strTxt); // 定义一个Regex对象实例     
  7.             for (int i = 0; i <  row; i++)//得到总行数并在之内循环    
  8.             {    
  9.                 for (int j = 0; j <  cell; j++)//得到总列数并在之内循环    
  10.                 {    
  11.                     Match m = r.Match(dataGridView1.Rows.Cells[j].Value.ToString()); // 在字符串中模糊匹配     
  12.                     if (m.Success)    
  13.                     {   //对比TexBox中的值是否与dataGridView中的值相同(上面这句)    
  14.                         dataGridView1.CurrentCell = dataGridView1[j,i];//定位到相同的单元格    
  15.                         if (MessageBox.Show("是否需要继续查找?""", MessageBoxButtons.OKCancel) == DialogResult.Cancel)    
  16.                         {    
  17.                             //如果选择了取消就会返回,如果选择了确定,就会继续查找匹配的.    
  18.                             return;//返回    
  19.                         }    
  20.                     }    
  21.                 }    
  22.             }    
  23.         }     

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约