我都搞胡涂了,到底哪个是修改后台数据源?要修改数据源,应该怎么用?如果把datatable保存为Cache,那是不是还可以用原来的dataadapter的update方法修改数据源?

解决方案 »

  1.   

    datatabel.rows.remove()//直接删除该行,以后datatable.acceptchanges()调用与否已无影响,比如:datatabel.rows.remove(2);
        后,直接删除第三行,同时下一行(原第四行)接上来变成第三行
    datarow.delete()//与remove不同,只是做个标记,表示该行需要删除,当acceptchanges()后删除该行。所以可以调用cancel取消删除
    dataadapter.update(datatable)//更新数据源
    datatable.acceptchanges()//这个应该懂了吧
      

  2.   

    对不起,我还没懂.
    你说的删除是指在datatable中删除还是在数据源中删除?数据源的更新只能用dataadapter.update()吗?比如:
    datarow.delete(rowid);
    datatable.acceptchanges();
    此时只是在datatable 中删除一行?之后还需要调用dataadapter.update()吗?
    如果是修改datatable某行中的一个字段值,那应该怎么写?
      

  3.   

    你说的删除是指在datatable中删除还是在数据源中删除?//当然是datatable,只有执行update后才会反映到数据源中datarow.delete(rowid);
    datatable.acceptchanges();
    说过了,是给该行做一个删除标记。acceptchanges()后才从datatable中删除,所以可以在delete后取消delete操作,所以一般推荐该法,以防删除后不能恢复(在datatable中)