Flexigrid是一款很漂亮的Jquery的表格插件,具体的信息大家可以上网上查一查。由于公司要用,所以研究了好半天这个东西,由于官方并没有提供给完整的文档,所以研究起来很痛苦~~~
公司要求做到客户端界面上的增删查改,所以第一步就是如何获取到Flexigrid的数据集,只有获取到了数据集,才能对数据集进行操作。琢磨了源码好久,终于琢磨出来怎么做了。
首先我们要改源码,打开从官网上下载的flexigrid.js文件,定位到615行(有可能会不同),有如下的代码:
$.ajax({
type: p.method,
url: p.url,
data: param,
dataType: p.dataType,
success: function(data){
g.addData(data);
},
error: function(data) { try { if (p.onError) p.onError(data); } catch (e) {} }
});
将其改成:
$.ajax({
type: p.method,
url: p.url,
data: param,
dataType: p.dataType,
success: function(data){
g.addData(data);
//---Coldfox's code
//use this you can get all data from grid
p.data=data;
//---Coldfox's code end
},
error: function(data) { try { if (p.onError) p.onError(data); } catch (e) {} }
});
其实就添加了一句:p.data=data;
然后我们为这个插件添加一个新的方法。定位到文件的末尾,添加如下函数:
//Coldfox's code
$.fn.flexGetData = function() { // function to get data from grid
var griddata = {total:1,page:1,rows:[]};
this.each( function() {
if (this.grid)
griddata = this.p.data;
});
return griddata;
};
公司要求做到客户端界面上的增删查改,所以第一步就是如何获取到Flexigrid的数据集,只有获取到了数据集,才能对数据集进行操作。琢磨了源码好久,终于琢磨出来怎么做了。
首先我们要改源码,打开从官网上下载的flexigrid.js文件,定位到615行(有可能会不同),有如下的代码:
$.ajax({
type: p.method,
url: p.url,
data: param,
dataType: p.dataType,
success: function(data){
g.addData(data);
},
error: function(data) { try { if (p.onError) p.onError(data); } catch (e) {} }
});
将其改成:
$.ajax({
type: p.method,
url: p.url,
data: param,
dataType: p.dataType,
success: function(data){
g.addData(data);
//---Coldfox's code
//use this you can get all data from grid
p.data=data;
//---Coldfox's code end
},
error: function(data) { try { if (p.onError) p.onError(data); } catch (e) {} }
});
其实就添加了一句:p.data=data;
然后我们为这个插件添加一个新的方法。定位到文件的末尾,添加如下函数:
//Coldfox's code
$.fn.flexGetData = function() { // function to get data from grid
var griddata = {total:1,page:1,rows:[]};
this.each( function() {
if (this.grid)
griddata = this.p.data;
});
return griddata;
};