Ext 怎样取出grid中所有记录并保存到数据库呢???
3个回答
2013-07-31
展开全部
function goAllDatas(){
//grid是Ext.gird.GridPanel对象
var store = grid.getStore();
var count = store.getCount();
for (var i = 0; i < count; i++) {
var record = store.getAt(i);
//接下来就是取record里面的字段了
//比如取name字段
var name = record.data.name;
//....
//接下来就是保存操作.....
}
}
//grid是Ext.gird.GridPanel对象
var store = grid.getStore();
var count = store.getCount();
for (var i = 0; i < count; i++) {
var record = store.getAt(i);
//接下来就是取record里面的字段了
//比如取name字段
var name = record.data.name;
//....
//接下来就是保存操作.....
}
}
展开全部
两种方法:
1, 在后台取到数据后直接加一行空数据再送到前台, 这样的话客户端不需要做任何处理
2, 在前台store.load事件中增加空行
store.on('load', function(){
var _rec = new this.recordType();
var _key = '';
//枚举所有字段, 设置默认值
for (var i = 0; i < _rec.fields.keys.length; i++){
_key = _rec.fields.keys[i];
//record对象中每个字段初次写入的值会记录在record.modified, 用于记录被修改之前的值
_rec.data[_key] = null;
//第二次根据字段类型写入默认值, record.data中记录的是默认值, record.modified中记录的是null,
//如此可以在客户端提交时区分客户端新增的记录或修改的记录
switch(_rec.fields.get(_key).type){
case 'int':
_rec.set(_key, 0);
break;
case 'float':
_rec.set(_key, 0.0);
break;
case 'boolean':
_rec.set(_key, false);
break;
default:
_rec.set(_key, '');
break;
}
}
//新增记录设置两次值, 则会在每个字段左上角显示红色三角修改标志, 用来凸显新增记录
//如果不需要判断是否客户端新增记录, 去掉第一次设置空值, 直接设置默认值即可
this.add(_rec);
});
1, 在后台取到数据后直接加一行空数据再送到前台, 这样的话客户端不需要做任何处理
2, 在前台store.load事件中增加空行
store.on('load', function(){
var _rec = new this.recordType();
var _key = '';
//枚举所有字段, 设置默认值
for (var i = 0; i < _rec.fields.keys.length; i++){
_key = _rec.fields.keys[i];
//record对象中每个字段初次写入的值会记录在record.modified, 用于记录被修改之前的值
_rec.data[_key] = null;
//第二次根据字段类型写入默认值, record.data中记录的是默认值, record.modified中记录的是null,
//如此可以在客户端提交时区分客户端新增的记录或修改的记录
switch(_rec.fields.get(_key).type){
case 'int':
_rec.set(_key, 0);
break;
case 'float':
_rec.set(_key, 0.0);
break;
case 'boolean':
_rec.set(_key, false);
break;
default:
_rec.set(_key, '');
break;
}
}
//新增记录设置两次值, 则会在每个字段左上角显示红色三角修改标志, 用来凸显新增记录
//如果不需要判断是否客户端新增记录, 去掉第一次设置空值, 直接设置默认值即可
this.add(_rec);
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-31
展开全部
var store = grid.getStore();
var selFuns = [];
store.each(function(rec){
selFuns.push(Ext.util.JSON.encode(rec.data));
});这样遍历数据
var selFuns = [];
store.each(function(rec){
selFuns.push(Ext.util.JSON.encode(rec.data));
});这样遍历数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询