首页 新闻 会员 周边 捐助

ASP.NET2.0 关于gridview 绑定临时数据的解决方案

0
悬赏园豆:100 [已解决问题] 解决于 2009-11-19 09:06

我有一个GRIDVIEW,通过另外控件的配合可以很方便的进行插入,删除。里面绑定的数据并不是直接存到数据库里面,而是在一个按钮的事件,根据业务需要手动的存储的数据里面。

由于我想提高开发时的效率,我采用一种很笨的办法:我在数据库里面建立一个临时表,专门用来存储我刚才说的那个GRIDVIEW的数据。由于web页面同时被不同的用户访问,我增加一些字段实现辨别不同用户的绘画。通过有真实这个数据表,建立SQLDataSource与Gridview进行绑定。

其实这个非常愚蠢的办法,平白增加的数据库。

我想问各位大侠们有没有相关的技术手段,可以让gridview与一个dataset或者datatable进行绑定。也可使用Gridview自动的添加删除操作,免除我另外写代码这样繁琐的操作。我在看书中,发现objectDataSource好像可以绑定类或者数据组件,但是我看了半天最后还是要跟数据库通信。

难道就没有好的办?

问题补充: 我知道通过代码的方式绑定dataTable。我还知道,如果你想最最后才把数据存入数据库可以通过,commandbulider来实现。 但是我不仅仅需要的实现这个一个功能。其实我那个Gridview里面的数据是不直接存入数据库,它就是一个程序运行的变量,我会在一个事件里面把里面的数据分析采集后存储到它该存储的地方去——也就是说它仅仅是一个临时数据,并不是我最终需要存储到数据库里面实体数据,(要变成真正的实体数据我还需要进行数据上的处理)。 我对于这样一个拥有类似一个数据库表的临时数据,我又要在一个Gridview上给客户直观的体验。我希望的是Gridview能十分方便够与这样一个临时数据绑定。不是动态绑定dataset,然后再Gridview的每一个添加删除更新选择事件中在去处理它。因为这样开发起来效率低。 这样做的开发效率比较低,我希望是可以不写代码的,直接通过控件上进行操作。
伊一线天的主页 伊一线天 | 初学一级 | 园豆:17
提问于:2009-11-14 14:40
< >
分享
最佳答案
0

这种临时将数据绑定在GrideView内,经确认后才添加入数据库的操作我做过,具体实现可以QQ278635394,不清楚你知道哪些,不清楚哪些

收获园豆:50
青衫难改 | 初学一级 |园豆:154 | 2009-11-16 09:09
其他回答(5)
0

如果数据量不大,可以自定义DataTable对象,将数据放在内存里面

收获园豆:2
lisw | 园豆:313 (菜鸟二级) | 2009-11-14 14:55
0

先做个DataTable吧

收获园豆:2
苏飞 | 园豆:2024 (老鸟四级) | 2009-11-14 15:38
0

我大致描绘一下你的意思,不知道对不对,你是想无论用户是添加数据还是修改数据或者删除数据,只要他不点击那个按钮,数据就不会存储到数据库里。

我会用这样的方式,我不管用户做什么操作,最后在Gridview上显示的数据就是用户想要的数据,那么把用户操作过受影响的行号记录下来存储在一个隐藏文本框里,当他点那个按钮的时候,先从数据库里删除那几个行号所代表的数据,然后按行号从当前gridview里读取数据,执行插入操作。

收获园豆:10
dege301 | 园豆:2825 (老鸟四级) | 2009-11-14 21:41
0

viewState 状态视图。

可以定义一个datatable 对象存在状态视图中,在你需要的时候,把它存储到数据库中,当然前提是你的这个操作必须在一个页面周期内。

你只要在pageload中。将gridview绑定在datatable上就OK了、

收获园豆:26
邢少 | 园豆:10926 (专家六级) | 2009-11-16 10:33
0

根据你GridView要显示的内容或者啥抽象出一个业务实体出来

User 属性可能有Name,Age,....可能你添加到数据库的时候只需要其中一部分属性

然后用缓存存储你的这个业务实体列表,然后绑定你的GridView应该就OK了,至于增删改查~操作一个实体就很方便了吧,这点代码量也

收获园豆:10
落小呆 | 园豆:57 (初学一级) | 2009-11-18 00:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册