我有一个dataGrid比如有16行数据,我用分页每页10行,共三页,每次换页dataGrid1.DataSource都会被修改。
这就出现两个问题:(进入调试状态)
1、对表做了修改后,若翻页,再回来,修改会不存在,还原回初始
2、我现在要保存dataGrid到TXT,结果只能保存当前页
以上问题在没做翻页时均不会出现,原因我已经说了,求解决方法!分页datagrid

解决方案 »

  1.   

    难道你不是用sql语句分页??
      

  2.   

    翻页之前持久化到数据库中去
    推荐用sql语句分页
      

  3.   

    诸位 请在读一下我的提问!TXT,哪有数据库什么的!更谈不上sql。
      

  4.   

    第一个问题:你修改的时候就直接修改数据库,这样在翻页的时候就不会出现你的这种情况
    第二个问题:数据保存的TXT中那么你就直接根据查询条件再次查询数据库,再将数据保存到TXT中
      

  5.   

    哥 我谢谢你的回复!求你看看题,看看我的留言,我已经说了很多次了,没有数据库,没有sql!!
      

  6.   

    从TXT直接导入到dataGrid,方法是将TXT文本读到DataSet ds,以ds.Table[0]作为dataGrid的数据源。
      

  7.   

    那么你就直接修改TXT文件,这样你也就不用再将dataGrid保存到TXT中了
      

  8.   

    网上有很多修改txt文本文档的代码你可以去找找
      

  9.   

    数据修改的时候就写入TEXT 我觉得不好,而应该的做法是 把文本内容读取进来的时候不直接显示在页面上,而是放到缓存的一张临时表里,而页面上的dataGrid是读取临时表来的,每次修改都是修改临时表就好,这样做也有利于减轻数据库连接的负担,而且也方便用户恢复数据
      

  10.   

    现在他不是从数据中读取数据而是直接从TXT中读取数据
      

  11.   

    您的回答还靠点谱,问题有二:1、该思路我尝试过,代码没有编辑成功,需要加个BindingSource控件吗?2、感觉这个思路只能解决问题二,即翻页和保存问题,而修改我用的是窗体传值showdata方法传回给dataGrid显示出来,之后用什么方法或者事件时时保存修改呢?
    目前我不考虑效率问题,能实现就行!
      

  12.   

    我的上上个项目中 有这样的模式,可以用页面的JS来控制的,这个方法是实时修改临时表 而不是实时保存到TEXT的 保存到TEXT的  是按 保存 或者 关闭画面的时候才把临时表里的数据 存放到TEXT里面,这样写入操作只进行一次。 当然你不考虑效率问题 只要实现功能的话 前面的实时写入也是可以的。
      

  13.   

    思路有些,依然不会实现,求解答!
    我打算每次修改后都更新一次初始datatable(ds.Table[0]),然而有问题:如何将修改后的那一行数据替换掉呢?出现很多问题,比如:1、无法对属性或索引器 DataRowCollection.this[int] 赋值(只读)2、表没有主键 错误(这是因为所要修改的行索引数不是唯一的)。
      

  14.   

    从TXT直接导入到dataGrid,方法是将TXT文本读到DataSet ds,以ds.Table[0]作为dataGrid的数据源。作了修改后直接修改datatable ds