首页 新闻 会员 周边

最优性能实现GirdView在新增一条数据后进行数据重新绑定

0
悬赏园豆:20 [已关闭问题]
<P>打个比方 <BR>页面上有一个GridView或者ListView,select * from MyTable,显示数据库里的数据,支持delete和update,不过这个不是最重要.</P> <P>现在执行insert操作,往MyTable里新增一条数据,并得到了insert的新行的id,现在要做的是前边GridView数据的重新填充.</P> <P>问题是这个重新填充能否不采用select * from MyTable这样的方法,而是只把刚才insert出来的那条数据给select出来,再添加到原本已经存在的GridView中?</P> <P><BR>我考虑这个问题的原因是,频繁的select那些原本已经得到的数据或许是可以避免的?请教各位</P> <P>有这个功能需求我本身想到的是前边table用html进行拼接得了,但是有分页和编辑,删除的操作需要,所以仍然想把目光放在GridView或者ListView上边.<BR>期待各路高手解答并提供建议!谢谢!!</P>
BetaGeek™的主页 BetaGeek™ | 初学一级 | 园豆:35
提问于:2008-03-05 22:55
< >
分享
其他回答(3)
0
有没有试过使用SqlDataSource来提供数据?
deerchao | 园豆:8367 (大侠五级) | 2008-03-05 23:20
0
不好弄,最好是重新获取数据, 如果一定要实现这个效果,就用JS写进去一行吧.
沙加 | 园豆:3680 (老鸟四级) | 2008-03-05 23:42
0
用js append,不过觉得好麻烦。
永不言败 | 园豆:350 (菜鸟二级) | 2008-03-06 10:13
0
果然相当麻烦,如果数据没有缓存在服务器端,那么意思就是说不能发生整页面提交,那就只能用ajax去增加一条记录,增加之后返回新增加的数据,用JS把这个数据附加到table后面(GridView到客户端就是一个普通的table) 这个过程做起来比较烦,不过并不很难 问题在于,不管是分页、编辑、删除,用了SqlDataSource的GridView里都免不了要重新Bind,所以这样做就没有意义 如果不用SqlDataSource,其实也是每次都Bind,只是可以把数据缓存到服务器上而不是每次select,但是update/delete操作还是要执行,数据量小的话,没有必要害怕这个select,但数据量大的话,你这个缓存也有问题 所以,最终结论就是:这个需求不做也罢! ------------------------------------- 一家之言,呵呵,期待高见
丁学 | 园豆:18730 (专家六级) | 2008-03-06 11:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册