本帖最后由 soya12a 于 2011-09-22 17:03:44 编辑

解决方案 »

  1.   


     int tempCount=dataGridView1.Rows.Count;
     for (int i = tempCount-1; i>0; i--)
                {
                    if (dataGridView1.Rows[i].Cells[1].Selected)
                    {
                        dataGridView1.Rows.RemoveAt(i);
                    }
                }
    试试
      

  2.   


           private void button1_Click(object sender, EventArgs e)
            {
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    if (dataGridView1.Rows[i].Cells[1].Selected)
                    {
                        dataGridView1.Rows.RemoveAt(i);
                        dt.AcceptChanges();  //先设dt为全局,然后加这句试试
                    }
                }
             
            }
      

  3.   

    这个需要从后往前删除。因为删除一行后,GriddView中的数据的顺序就会将删除后的序号自动-1