在WPF中用datagrid如何直接在datagrid界面上就可以实现更新数据库?就是我可以直接在datagrid上直接增加删除和修改数据,然后更新到数据库,特别是Update的方法,网上很多没有写清楚Update这个方法是怎么写的。请大神指导,谢谢

解决方案 »

  1.   

    WPF没做过 说下winform我的思路  要么是更新数据库后重新获得数据放在dataTable中 然后把dataTable绑定给gridivew
    要么是更新数据库后,程序在界面中直接操作更新的所在行。。不清楚有没有更好的方法。。
      

  2.   

    winform我做过的,在有主键情况下用commandbuilder可以很好的解决,而WPF不行啊
      

  3.   

    winform我做过的,在有主键情况下用commandbuilder可以很好的解决,而WPF不行啊
    是啊,有同感,楼主解决没?
      

  4.   

    WPF DG和WINFORM是一样的,关键是 public static DataTable UpdateDataTable(string SqlString, DataTable table)
            {
                using (SqlConnection connection = new SqlConnection(ConnStr))
                {
                    connection.Open();
                    SqlDataAdapter Adapter = new SqlDataAdapter();
                    Adapter.SelectCommand = new SqlCommand(SqlString, connection);
                    SqlCommandBuilder builder = new SqlCommandBuilder(Adapter);
                    Adapter.Update(table);
                    return table;
                }
            }//保存数据
     string sql="select * from tablename";
     dataGrid1.CommitEdit();
     DataTable tabled = (dataGrid1.ItemsSource as DataView).Table;
     UpdateDataTable(sql,tabled);
      

  5.   

    为什么要用dataGrid1.CommitEdit()呢,是不是列是单向绑定的情况,如果列是双向绑定的,一旦单元格失去焦点,就会更新数据源