jqGrid扩展 重新加载表格数据,数据源从C#的webservice
2014-10-23 09:26
357 查看
先上代码:
$("#tblList").jqGrid("refresh", { url: "/Task/Services/S_Task.asmx/GetLists?action='MyJoin'" + param ,isXls:false},callback:function(){
});
在使用jqGrid的时候,刷新加载服务端json数据,需要写很多代码,所以封装了这个方法,可以方便调用。
需要注意Framework要3.5以上。
$.jgrid.extend({ refresh: function (param) { var $_t = $(this); var defaults = { sortname: $_t.jqGrid("getGridParam", "sortname"), callback: null, url: '', postData: {}, isXls: false }; var opts = $.extend(defaults, param); //param= $.extend( { sortname: '', callback: null, url: '' },param); $("input[type='button']").prop("disabled", true); var jsonReader = {}; if (opts.url.indexOf(".asmx") > -1) { jsonReader = { root: "d.Table.rows", page: "d.Page", total: "d.Total", records: "d.Records", userdata: "d.Userdata" }; } else { jsonReader = { root: "rows", page: "page", total: "total", records: "records" }; } var _loadPage = $_t.jqGrid("getGridParam", "page"); if (!_loadPage) _loadPage = 1; $_t.jqGrid("setGridParam", { url: opts.url, jsonReader: jsonReader, datatype: "json", page: _loadPage, sortname: opts.sortname, ajaxGridOptions: { contentType: 'application/json; charset=utf-8' }, postData: opts.postData, gridComplete: function () { if (param.callback) param.callback($_t); }, loadComplete: function (data) { if (param.loadComplete) param.loadComplete(data); } }).trigger("reloadGrid"); if (opts.isXls) { $(".ui-pg-div:contains(导出)", $_t.jqGrid("getGridParam", "pager")).parent().remove(); $_t.jqGrid('navButtonAdd', $_t.jqGrid("getGridParam", "pager"), { caption: "导出", onClickButton: function () { var _url = opts.url; if (opts.url.indexOf('?') > -1) _url += '&'; else _url += '?'; if (_url.indexOf('isXls') > -1) { } else { _url += 'isXls=1&'; } //colNames colModel 进行处理 传到服务端 var _colNames = $_t.jqGrid("getGridParam", "colNames"); var _colModel = $_t.jqGrid("getGridParam", "colModel"); var _result = {}; $.map(_colModel, function (item, k) { _result['xls_' + item.name] = _colNames[k]; }); _url = _url + $.param(_result); _url = _url + "&page=" + $_t.jqGrid("getGridParam", "page"); _url = _url + "&rows=" + $_t.jqGrid("getGridParam", "rowNum"); _url = _url + "&" + $.param(opts.postData); window.open(_url); } }); } $("input[type='button']").prop("disabled", false); $(".ui-jqgrid-bdiv div").css("position", ""); } }); function loadFilter(data) { /// <summary>jqGrid加载JSON数据时,对返回的data统一处理方式函数</summary> /// <param name="data">json返回的JsonData对象</param> /// <returns>无返回</returns> if (!data.d) { data.d = { Table: {} }; } if (!data.d.Table) data.d.Table = {}; if (data.d.Total) data.d.Table.total = data.d.Total; else data.d.Table.total = 0; if (!data.d.Table.rows) data.d.Table.rows = []; return data.d.Table; }使用方法:
$("#tblList").jqGrid("refresh", { url: "/Task/Services/S_Task.asmx/GetLists?action='MyJoin'" + param ,isXls:false},callback:function(){
});
在使用jqGrid的时候,刷新加载服务端json数据,需要写很多代码,所以封装了这个方法,可以方便调用。
需要注意Framework要3.5以上。
相关文章推荐
- TableDataSource 表格数据重新加载
- jqGrid之重新加载数据
- jqGrid - 重新加载数据
- jqgrid--按搜索字段进行搜索并重新加载表格
- jqgrid--按搜索字段进行搜索并重新加载表格
- 判断 jqGrid表格加载返回数据是否为空
- jqGrid post请求,重新获取参数加载数据
- 137在搜索框中实现下拉列表效果(扩展知识:表格视图数据源为空数据时显示提示信息)
- 关于jqGrid表格重新加载的问题
- [置顶] jqgrid 重新加载数据.
- jqgrid treegrid 重新加载数据
- easyUI 重新加载表格数据
- jqgrid标题换行、隐藏滚动条、重新提交数据加载页面、单元格绑定点击事件
- jqGrid表格加载返回数据为空时,alert一句提示
- jqgrid刷新列表,重新加载数据
- c#Datagridview从数据库重新加载数据和向数据库提交更改
- 关于ligerui 中 grid 表格的扩展搜索功能在远程数据加载时无法使用的解决办法
- jqgrid 分页时,清空原表格数据加载返回的新数据
- C# 启用双缓存,避免ListView控件加载数据时闪烁
- [C#]用C#动态生成Word文档并将数据填入Word表格中