程序是要求选中整行时才能删除,但怎么样判断当前是选中的整行还是单元格呢?请各位教我,谢谢!

解决方案 »

  1.   

    在Gridview里添加一个CHEAKlboxfiled然后添加一个删除按钮
    在删除按钮里写上相应代码即可
    我这里提供你一段关键代码就是判断是否选中了
    注:我这里是选中checkboxfiled就可以删除整行了;
    代码: if (((CheckBox)(row.FindControl("CheckBox1"))).Checked)
                {
                    int Id = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
                    string strsql = "delete from StuInfo where Id=" + Id;
                   
                    SqlCommand cmd = new SqlCommand(strsql, con);
                    cmd.ExecuteNonQuery();   
                }
    其中Id为该表中的主键列
      

  2.   

    设置DataGridView的属性SelectionMode为FullRowSelect 
    这样就使DataGridView不是选择一个字段,而是选择一整行了 设置DataGridView的属性MultiSelect为false 
    这样就使DataGridView不能够选择多行,只能选择一行了 
      

  3.   


    判断一下当前行所选中的单元格个数和Drid的列数是否相等,如果相等,则删除
      

  4.   

    呵呵原来我理解错了
    GridView1.Rows[e.RowIndex].Cells[?].Controls[?]
    那用这个方法应该能判断出是否选中单元格了不知道有没有错不过方法提下呵呵
      

  5.   

     if (dataGridView1.SelectedRows.Count != 0)
                {
                    MessageBox.Show("选中行");
                }
                else { MessageBox.Show("选中列"); }
      

  6.   

    SelectedRows.Count為1并用SelectedCells.Count的值為總列數值則為選中的一整行。