LigerUI与EasyUI一样,都是一个基于jquery的集成了各种用户界面的框架,包括我们常用的表单、表格等常用的控件,使用它们都可以快速的创建风格统一的界面效果。LigerUI与EasyUI相比,LigerUI的用户量不如EasyUI,所以在使用LigerUI过程中遇到问题,寻找解决方案不像EasyUI那么容易;但是LigerUI它是开源的,当我们遇到问题时可以修改LigerUI的源代码来解决问题。
我实习的项目,开发语言是Java,使用的框架是LigerUI+SSH,下面进入我们今天的正题,LigerUI的表格。
下面这张图是我们整个页面,我们主要看下表格
<divid="maingrid"></div>
LigerUI表格的数据加载的是Json格式,下面我们看下Json格式的数据:
{
"Total": 49,
"Rows": [
{
"id": 2049,
"bookingId":"702645678909876520141104",
"companyId":"456789098765",
"bookingDate":"2014-11-04",
"bookingTime":"9:30",
"bookingPlace":"海淀区医保中心预约大厅",
"bookingThing":"医疗费用报销取号预约",
"bookingType":"日后办理",
"bookingState":"0",
"companyName": "fdfdsf",
"insuranceName":"基本医疗",
"insuranceAmount":"7"
},
{
"id": 2050,
"bookingId":"648045678909876520141104",
"companyId":"456789098765",
"bookingDate":"2014-11-04",
"bookingTime":"9:30",
"bookingPlace":"海淀区医保中心预约大厅",
"bookingThing":"医疗费用报销取号预约",
"bookingType":"即时办理",
"bookingState":"0",
"companyName":"456789098765",
"insuranceName":"离休人员",
"insuranceAmount":"5"
},
{
"id": 2050,
"bookingId":"648045678909876520141104",
"companyId":"456789098765",
"bookingDate":"2014-11-04",
"bookingTime":"9:30",
"bookingPlace":"海淀区医保中心预约大厅",
"bookingThing":"医疗费用报销取号预约",
"bookingType":"即时办理",
"bookingState":"0",
"companyName":"456789098765",
"insuranceName":"基本医疗",
"insuranceAmount":"5"
},
{
"id": 2051,
"bookingId":"705245678909876520141103",
"companyId":"456789098765",
"bookingDate":"2014-11-03",
"bookingTime":"9:15",
"bookingPlace":"海淀区医保中心预约大厅",
"bookingThing":"医疗费用报销取号预约",
"bookingType":"即时办理",
"bookingState":"0",
"companyName":"456789098765",
"insuranceName":"生育保险",
"insuranceAmount":"7"
},
{
"id": 2051,
"bookingId":"705245678909876520141103",
"companyId":"456789098765",
"bookingDate":"2014-11-03",
"bookingTime":"9:15",
"bookingPlace":"海淀区医保中心预约大厅",
"bookingThing":"医疗费用报销取号预约",
"bookingType":"即时办理",
"bookingState":"0",
"companyName":"456789098765",
"insuranceName":"基本医疗",
"insuranceAmount":"5"
},
{
"id": 2052,
"bookingId":"219334567890987620141104",
"companyId":"345678909876",
"bookingDate":"2014-11-04",
"bookingTime":"9:30",
"bookingPlace":"海淀区医保中心预约大厅",
"bookingThing":"医疗费用报销取号预约",
"bookingType":"即时办理",
"bookingState":"0",
"companyName":"fd",
"insuranceName":"基本医疗",
"insuranceAmount":"6"
},
{
"id": 2053,
"bookingId":"183934567890987620141104",
"companyId":"345678909876",
"bookingDate":"2014-11-04",
"bookingTime":"9:30",
"bookingPlace":"海淀区医保中心预约大厅",
"bookingThing":"医疗费用报销取号预约",
"bookingType":"日后办理",
"bookingState":"0",
"companyName":"345678909876",
"insuranceName":"基本医疗",
"insuranceAmount":"6"
},
{
"id": 2063,
"bookingId":"877843212323232320141103",
"companyId":"432123232323",
"bookingDate":"2014-11-03",
"bookingTime":"9:15",
"bookingPlace":"海淀区医保中心预约大厅",
"bookingThing":"医疗费用报销取号预约",
"bookingType":"即时办理",
"bookingState":"0",
"companyName":"发热",
"insuranceName":"基本医疗",
"insuranceAmount":"7"
},
{
"id": 2065,
"bookingId":"756934567890987620141103",
"companyId":"345678909876",
"bookingDate":"2014-11-03",
"bookingTime":"9:15",
"bookingPlace":"海淀区医保中心预约大厅",
"bookingThing":"医疗费用报销取号预约",
"bookingType":"即时办理",
"bookingState":"0",
"companyName":"沟通",
"insuranceName":"基本医疗",
"insuranceAmount":"7"
},
{
"id": 2066,
"bookingId":"137523456543212320141104",
"companyId":"234565432123",
"bookingDate":"2014-11-04",
"bookingTime":"9:30",
"bookingPlace":"海淀区医保中心预约大厅",
"bookingThing":"医疗费用报销取号预约",
"bookingType":"日后办理",
"bookingState":"0",
"companyName":"发呆",
"insuranceName":"基本医疗",
"insuranceAmount":"5"
}
]
}
LigerUI表格加载的Json与EasyUI相比是一模一样的,下面我们看下js是如何加载表格的
$(function ()
{
//加载表格
showInfo();
});
//showInfo往后台action提交请求,同时获取后台数据
function showInfo(keyWord){
var url = 'statisticalQuery_list.action';
if(keyWord){
keyWord = encodeURI(encodeURI(keyWord));
url = url + '?keyWord='+keyWord;
}
$("#maingrid").ligerGrid({
columns: [
{
display : '主键',
name : 'id',
align : 'left',
hide: 'true',
width : 120
},{
display : "预约号",
name : 'bookingId',
width : 180,
type : "text",
align : "left"
}, {
display : "企业名称",
name : "companyName",
width : 180,
type : "text",
align : "left"
}, {
display : "社保号",
name : "companyId",
width : 180,
type : "text",
align : "left"
}, {
display : "保险类型",
name : "insuranceName",
width : 100,
type : "date",
align : "left"
}, {
display : "单据份数",
name : "insuranceAmount",
width : 100,
type : "date",
align : "left"
}, {
display : "预约日期",
name : "bookingDate",
width : 180,
type : "date",
align : "left"
},{
display : "预约时间",
name : "bookingTime",
width : 180,
type : "date",
align : "left"
}
],
dataAction: 'server',
//data: data,
url:url,
sortName: 'id',
width: '98%',
height: '95%',
pageSize: 10,
rownumbers:true,
checkbox : false,
heightDiff: -6,
onAfterShowData : show,
//单机表格,跳转统计页面,
onSelectRow : function (urlAll, rowindex, rowobj)
{
//onClickCell (rowIndex, field, value)
//获取变量
var startDateStr=document.getElementById("startDate").value;
var endDateStr=document.getElementById("endDate").value;
var companyIdStr=urlAll.companyId;
var companyNameStr= urlAll.companyName;
var urlAll="statisticalQuery_toDetail.action?startDateStr="+startDateStr+ "&endDateStr=" + endDateStr+ "&companyIdStr=" + companyIdStr+ "&companyNameStr=" + companyNameStr;
top.f_addTab(null, '预约统计详细信息', urlAll);
}
});
}
在上面的js中,通过url将要查询的条件传到指定的action,action再调用相应业务逻辑进行查询,将查询到的结果返回给前台,前台即可加载数据。
还记得1月份的时候用EasyUI开发时,当时Json格式的数据是在后台利用循环拼接字符串得到的,而这次关于LigerUI表格加载的Json数据,我们这次并不是采用拼接字符串得到的,具体Json格式如何得到的,请期待下篇文章。
原文:http://blog.csdn.net/zwk626542417/article/details/41415721