我将DataGrid绑定了一个Table,比如我现在要在DataGrid中新增一行,在行尾写入相应数据,此时焦点不离开该行,就进行保存操作,这时新增的数据就无法保存入数据库。修改的时候也一样,如果你对一个Cell进行修改,焦点不离开该Cell就进行保存,修改的数据也不能存入数据库,这是为什么,欢迎赐教!!!

解决方案 »

  1.   

    这个好像是DataGrid的一个Deburg,一直都没有好的解决办法,大家有什么好办法啊?
      

  2.   

    我可以通过新增一行,转移焦点来实现,我想知道可不可以通过控制DataGrid的来实现,
    有没有这方面的方法啊???
      

  3.   

    这个好像是DataGrid的一个Deburg,一直都没有好的解决办法,大家有什么好办法啊?
    =====================
    Deburg ?
    OH my god !
    What's that ?
      

  4.   

    这个好像跟微软的DataGrid控件设置有关,焦点移开时,当前的记录才能被写入数据库,寻求解决办法???
      

  5.   

    是不是焦点离开以后,数据才会被放到datagrid里面去,然后才能更新?这个跟数据库的更新模式一样啊。实在不行你就记录当前控件名,更新前做一个离开焦点再得到焦点就好了。
      

  6.   

    就没有一些关于DataGrid控件控制的方法吗
      

  7.   

    我在插数据到数据库时,也是这样啊,焦点不移开,数据库会认为你还处在编辑状态,必须把焦点移开后,才真正插入一条数据。我想在DATAGRID中也一样吧,如果不行你就把新增加的ITEM重新绑定一下啦,呵呵。。
      

  8.   

    datagrid的焦点问题真是烦死了,我都被他搞瞢了
      

  9.   

    用xml可以么??用脚本处理xml,保存数据的时候保存到xml中,具体我也说不上了,感觉应该可以!
      

  10.   

    回复人: guoyin2002(guoyin) ( ) 信誉:90  2006-01-19 11:32:00  得分: 0  
     
     
       我终于搞定了。
      
     
    老兄,你搞定什么了,怎么搞定的。
      

  11.   

    自己搞定了,
    首先移开焦点,再
    Application.DoEvents();
    这样就可以刷新一下,就OK了。大家分享一下。
      

  12.   

    you can also add it into your datatable instead.
      

  13.   

    我用过True DBgrid,也碰到过同样的问题,我把它的编辑状态设置为FALSE就行啦, (grdBarCode.EditActive = False),不知道datagrid是不是也一样
      

  14.   

    可以这样来解决的:
    比如说你是在执行新增一条记录时,你先将数据增加到数据库中,同时定义一个DataTable
    新增时更新数据库,同时更新刚定义的DataTable
    public void BindUserPerson()
    {
             DataTable dt =  (DataTable)this.DataGrid1.DataSource;
             DataRow dr = dt.NewRow();         dr["ID"]   = this.txtID.Text.ToString();
             dr["Name"]=this.txtName.Text.ToString();
             dr["DESC"]=this.txtDesc.Text.ToString();dt.Rows.Add(dr);
    dt.AcceptChanges();
    }修改时也是一样的~~