不用单击保存按钮,这种直接拖拽表格到datagridview的方法,在双击单元格内容进行修改后把鼠标移到另一个位置点击一下就会报错,2楼说的在保存时进行判断可以实现,但如果我点别的位置就会报错了至于1楼说的,如何控制编辑的权限呢,能具体说下吗?

解决方案 »

  1.   

    回复3楼:
       专业信息我已经得到了,现在已经实现了在DataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)事件被激发时发出警告,代码:
     private void studentDataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
            {
                if (DataGridView.CurrentCell.Value != subject)//subject即我的专业
                {
                    MessageBox.Show("您不能添加其他专业的学生信息");
                    studentDataGridView.Focus();
                }
            }
    现在是焦点该如何活得,将焦点放在我刚才出错的地方
      

  2.   

    在DataGridView中,你要添加其他专业的学生,这个专业的信息在第几列?可以通过将这个专业编号或者专业名称限制为你的专业名称,不让添加时可以修改来达到你的目的。
      

  3.   

    回复computerfox:
       你说的这种方法简单有效,很受用。能否简单写一下代码,譬如说专业列为第二列,表名你可以随便写,因为我不知道该如何写禁止修改列的代码
      

  4.   

    或者这样看看能否实现你的目标:        private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
            {
                //获取输入的专业值,然后判断:
                string enteredValue = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
                if (enteredValue != "计算机")
                    MessageBox.Show("您不能添加其他专业的学生信息");
            }
      

  5.   

    回复computerfox:
      谢谢您的提醒,虽然还有问题,但思路差不多了,我现在需要获取编辑行、列的索引,呵呵,谢谢你了