可能是我没了解 DataGridView.我只是将 DataGridView 来显示数据,将一个对象绑定到 一行, 要新增修改删除对将此对象传至另一窗体处理,我觉得这样更灵活.不知楼主看法如何?

解决方案 »

  1.   

    语法检查写在VALIDATING事件里面
      

  2.   

    DataGridView的焦点问题是用CurrutCell来控制的,你说的选中不知道是不是Select
    如果是高亮显示的那中,可以改Cell.Selected属性。
    如果是焦点,你需要修改CurrutCell属性。对于你的第一个问题
    要么dataGridView1[0,0].Selected = true;
        dataGridView1[0,1].Selected = false;
    要么dataGridView1.CurrutCell = dataGridView1[0,0];对于你的第二个问题
    EndEdit貌似不怎么可靠,我建议还是修改CurrutCell属性,如果cell处于edit状态,在end后,CurrutCell将会提交。你需要做的就是保存一个CurrutCell的一个历史副本,可以帮助你回到出错的单元格.我在网吧回的贴,没有验证我刚才说的,如果有错,勿怪```
      

  3.   

    你的事件选择有问题,你应该使用两个验证事件和ERROR事件.至于那个焦点问题,你可以在ENTER事件,指定某一个单元格被选中即可.至于出错后,焦点仍在出错的单元格,这个完全可以在验证事件中处理,E.CANCEL=TURE即可.