jQuery EasyUI+ajax+datagrid 实现table数据刷新

一、问题引入 

 日常开发中jQuery EasyUI的使用使页面展示table变得异常方便,特别使用datagrid组件。但使用ajax异步请求刷新table数据反填datagrid时,存在数据无法重新加载问题,本文皆在于解决这一问题

二、具体实现

1.加载JS

/**
 * 客户信息JS
 */
$(document).ready(function(){
	//初始载入数据
	loadData();
	
	//刷新数据
	reload();
});

2.初始载入数据

/*
 * 初始载入数据
 */
function loadData()
{
	var url = "Report/ReportSelectCustomer";
	var param = null;
	//查询需要载入的数据
	getDateGrid();
	getData(url,param);
};

3.载入数据

/**
* 载入数据
*/
function getDateGrid(){
	  $('#wu-datagrid').datagrid({
			loadFilter:pagerFilter,		
			rownumbers:true,
			singleSelect:false,
			pageSize:20,           
			pagination:true,
			multiSort:true,
			fitColumns:true,
			fit:true,
			columns:[[
			    {checkbox:true},
				{ field:'custid',title:'客户编号',width:100,sortable:true},
				{ field:'custname',title:'客户名称',width:100,sortable:true},
				{ field:'goodsname',title:'货物名称',width:100},
				{ field:'custtel',title:'联系电话',width:100},
				{ field:'custemail',title:'电子邮箱',width:100},
				{ field:'custadd',title:'送货地址',width:100},
				{ field:'custremark',title:'备注',width:100}
			]]
		});    
}

4.发送请求,获取数据

/*
 * 发送请求,获取数据
 */
function getData(url,param)
{
	$.ajax({
		url: url,
		type: "POST",
		async : false,
		contentType:'application/json;charset=UTF-8',
		data: JSON.stringify(param),
        dataType: "JSON",
        timeout: 20000,
        success : function (data) {
        	reLodadDateGrid(data);
        },
        error : function (data){
        }
    });
}

5.组装dataGrid数据

组装dataGrid数据
/*
 * 组装dataGrid数据
 */
function reLodadDateGrid(data)
{
	var values = [];
	 for ( var i = 0; i 

6.刷新table时,刷新数据

/**
* 刷新记录
*/
function reload()
{
	$("#customer-reload").click(function(){
		$.messager.confirm('信息提示','确定要刷新?', function(result)
		{
			loadData();
		});
	});
}
Copyright ©2018  hbgengfei11

你可能感兴趣的:(js)