?? grid.import.js
字號:
;(function($){
/*
* jqGrid extension for constructing Grid Data from external file
* Tony Tomov tony@trirand.com
* http://trirand.com/blog/
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
**/
$.fn.extend({
jqGridImport : function(o) {
o = $.extend({
imptype : "xml", // xml, json, xmlstring, jsonstring
impstring: "",
impurl: "",
mtype: "GET",
impData : {},
xmlGrid :{
config : "roots>grid",
data: "roots>rows"
},
jsonGrid :{
config : "grid",
data: "data"
}
}, o || {});
return this.each(function(){
var $t = this;
var XmlConvert = function (xml,o) {
var cnfg = $(o.xmlGrid.config,xml)[0];
var xmldata = $(o.xmlGrid.data,xml)[0];
if(xmlJsonClass.xml2json && JSON.parse) {
var jstr = xmlJsonClass.xml2json(cnfg," ");
var jstr = JSON.parse(jstr);
for(var key in jstr) { var jstr1=jstr[key];}
if(xmldata) {
// save the datatype
var svdatatype = jstr.grid.datatype;
jstr.grid.datatype = 'xmlstring';
jstr.grid.datastr = xml;
$($t).jqGrid( jstr1 ).setGridParam({datatype:svdatatype});
} else {
$($t).jqGrid( jstr1 );
}
jstr = null;jstr1=null;
} else {
alert("xml2json or json.parse are not present");
}
};
var JsonConvert = function (jsonstr,o){
if (jsonstr && typeof jsonstr == 'string' && JSON.parse) {
var json = JSON.parse(jsonstr);
var gprm = json[o.jsonGrid.config];
var jdata = json[o.jsonGrid.data];
if(jdata) {
var svdatatype = gprm.datatype;
gprm.datatype = 'jsonstring';
gprm.datastr = jdata;
$($t).jqGrid( gprm ).setGridParam({datatype:svdatatype});
} else {
$($t).jqGrid( gprm );
}
}
};
switch (o.imptype){
case 'xml':
$.ajax({
url:o.impurl,
type:o.mtype,
data: o.impData,
dataType:"xml",
complete: function(xml,stat) {
if(stat == 'success') {
XmlConvert(xml.responseXML,o);
xml=null;
}
}
});
break;
case 'xmlstring' :
// we need to make just the conversion and use the same code as xml
if(o.impstring && typeof o.impstring == 'string') {
var xmld = xmlJsonClass.parseXml(o.impstring);
if(xmld) {
XmlConvert(xmld,o);
xmld = null;
}
}
break;
case 'json':
$.ajax({
url:o.impurl,
type:o.mtype,
data: o.impData,
dataType:"json",
complete: function(json,stat) {
if(stat == 'success') {
JsonConvert(json.responseText,o );
json=null;
}
}
});
break;
case 'jsonstring' :
if(o.impstring && typeof o.impstring == 'string') {
JsonConvert(o.impstring,o );
}
break;
}
});
},
jqGridExport : function(o) {
o = $.extend({
exptype : "xmlstring"
}, o || {});
var ret = null;
this.each(function () {
if(!this.grid) { return;}
var gprm = $(this).getGridParam();
switch (o.exptype) {
case 'xmlstring' :
ret = xmlJsonClass.json2xml(gprm," ");
break;
case 'jsonstring' :
ret = JSON.stringify(gprm);
break;
}
});
return ret;
}
});
})(jQuery);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -