社区
Flex
帖子详情
datagrid 数据库
RHuniSoft
2010-12-28 06:22:57
1.怎样检测datagrid中的数据是否发生变化
2.若变化了怎样提交到数据库,怎样提交某些列,或者全部提交,要用到哪些方法
麻烦详细说说,十分感谢。。。
...全文
86
6
打赏
收藏
datagrid 数据库
1.怎样检测datagrid中的数据是否发生变化 2.若变化了怎样提交到数据库,怎样提交某些列,或者全部提交,要用到哪些方法 麻烦详细说说,十分感谢。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
RHuniSoft
2010-12-30
打赏
举报
回复
没事了,已经解决了。。。谢谢啦
duanjingyu
2010-12-29
打赏
举报
回复
一楼的办法可行
leemiki
2010-12-29
打赏
举报
回复
楼主看懂代码了吗??
Flex端只是调下后台的方法即可 ro.后台方法(dataChangeColl);
剩下都是后台的事情!!Flex端就到此为止~~~
RHuniSoft
2010-12-29
打赏
举报
回复
-------调用后台方法传入dataChangeColl,后台遍历集合根据主键执行update操作
能把这部分代码写一下吗,十分感谢
leemiki
2010-12-28
打赏
举报
回复
上面的程序还有个效率上的问题(闲麻烦可以忽略)
如果用户在改了数据后又改回去的话,那条数据对象还是会被插入到dataChangeColl中
所以严谨的做法是将最初的dataProvider做一个备份(new一个新的集合将元素插入),再add到
dataChangeColl时候遍历一下这个备份集合,这样的数据库后台操作效率是最高的
leemiki
2010-12-28
打赏
举报
回复
监听ArrayCollection(dataProvider)的collectionChange事件即可
效率上当然是只对改变的提交~!!
不多说直接看代码:
<?xml version="1.0"?>
<!-- DataGrid control example. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="init()">
<mx:Script>
<![CDATA[
import mx.events.PropertyChangeEvent;
import mx.events.CollectionEventKind;
import mx.controls.Alert;
import mx.events.CollectionEvent;
import mx.collections.ArrayCollection;
[Bindable]
private var messColl:ArrayCollection = new ArrayCollection([
{id:1,name:'Christina Coenraets',phone:'555-219-2270',email:'ccoenraets@fictitious.com',active:'true'},
{id:2,name:'Joanne Wall',phone:'555-219-2012',email:'jwall@fictitious.com',active:'true'},
{id:3,name:'Maurice Smith',phone:'555-219-2012',email:'maurice@fictitious.com',active:'false'},
{id:4,name:'Mary Jones',phone:'555-219-2000',email:'mjones@fictitious.com',active:'true'}
]);
private var dataChangeColl:ArrayCollection = new ArrayCollection;//已改变的数据对象集合
private function init():void{
messColl.addEventListener(CollectionEvent.COLLECTION_CHANGE,dataChangeHandler);
}
private function dataChangeHandler(event:CollectionEvent):void{
event.kind = CollectionEventKind.UPDATE;
var obj:Object = (event.items[0] as PropertyChangeEvent).source;
if(dataChangeColl.getItemIndex(obj)==-1){
dataChangeColl.addItem(obj);
}
}
private function getChangeData(event:MouseEvent):void{
var str:String="";
if(dataChangeColl.length==0){
Alert.show("暂无数据更改!","提示框");
}else{
//调用后台方法传入dataChangeColl,后台遍历集合根据主键执行update操作
}
}
]]>
</mx:Script>
<mx:Panel title="DataGrid Control Example" height="100%" width="100%"
paddingTop="10" paddingLeft="10" paddingRight="10">
<mx:DataGrid id="dg" width="100%" height="100%" rowCount="5" dataProvider="{messColl}" editable="true">
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="Name" editable="true"/>
<mx:DataGridColumn dataField="phone" headerText="Phone" editable="true"/>
<mx:DataGridColumn dataField="email" headerText="Email" editable="true"/>
</mx:columns>
</mx:DataGrid>
<mx:Button label="已改改变数据源" click="getChangeData(event)"/>
</mx:Panel>
</mx:Application>
ADO
DataGrid
数据库
全操作
ADO
DataGrid
数据库
全操作
ADO+
Datagrid
数据库
全操作实例(有难度)
ADO+
Datagrid
数据库
全操作实例(有难度).rar
easyui+jsp+servlet上手实例
完整的easyui的
datagrid
使用实例,带你快速入门,一步上手
ADO+
DataGrid
数据库
全操作
ADO+
DataGrid
数据库
全操作
wpf通过
datagrid
操作
数据库
,实现
datagrid
增删改操作。
wpf通过
datagrid
操作
数据库
,实现
datagrid
增删改操作。
Flex
4,328
社区成员
9,091
社区内容
发帖
与我相关
我的任务
Flex
多媒体/设计 Flex
复制链接
扫一扫
分享
社区描述
多媒体/设计 Flex
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章