且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

LigerUI的简单使用示例

更新时间:2022-09-19 22:26:20

一 LigerUI简介

LigerUI 是基于jQuery 的UI框架,其核心设计目标是快速开发、使用简单、功能强大、轻量级、易扩展。简单而又强大,致力于快速打造Web前端界面解决方案,可以应用于.net,jsp,php等等web服务器环境。

LigerUI有如下主要特点:

  • 使用简单,轻量级

  • 控件实用性强,功能覆盖面大,可以解决大部分企业信息应用的设计场景

  • 快速开发,使用LigerUI可以比传统开发减少极大的代码量

  • 易扩展,包括默认参数、表单/表格编辑器、多语言支持等等

  • 支持Java、.NET、PHP等web服务端

  • 支持 IE6+、Chrome、FireFox等浏览器

  • 开源,源码框架层次简单易懂

(PS:以上简介来至官网)


二 一个最简单的Demo

(1)从官网下载最新版的LigerUI,目前的下载地址是:http://pan.baidu.com/s/1dDNAc7Z

(2)新建一个Java web项目,并将LigerUI的一些东西复制到项目中,比如说这样:

LigerUI的简单使用示例

(3)最简单的demo,文件名是:demo1.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<base href="<%=basePath%>">
<title>Insert title here</title>
<link href="scripts/ligerUI/skins/Aqua/css/ligerui-all.css"
    rel="stylesheet" type="text/css" />
<script src="scripts/jquery/jquery-1.9.0.min.js" type="text/javascript"></script>
<script src="scripts/ligerUI/js/core/base.js" type="text/javascript"></script>
<script src="scripts/ligerUI/js/plugins/ligerTextBox.js"
    type="text/javascript"></script>
<script type="text/javascript">
    $(function() {
        //将一个html文本框对象转换成ligerui文本框对象,并返回ligerui对象
        var g = $("#txt1").ligerTextBox({
            //如果没有输入时,会提示不能为空
            nullText : '不能为空',
            onChangeValue : function(value) {
                alert(value);
            }
        });
 
        /*
        获取属性
         */
        //alert('方式一:' + g.get('disabled'));
        /*
           如何调用方法
         */
        //g.setDisabled();
        /*
            如何设置事件
         */
        //这里给文本框绑定一个改变值的事件
        //也可以设置onChangeValue参数
        /*
        g.bind('changeValue',function(value){
            alert(value);
        });
         */
 
    });
</script>
 
</head>
<body style="padding: 10px">
    <input type="text" id="txt1" value="" style="width: 200px" />
</body>
</html>

从上面的代码可以看出,先是引入了几个jquery和ligerui的js文件,然后从用法上来说跟jQuery是很相似的,针对

TextBox进行了简单使用


三 使用本地数据建立表格

ligerGrid可以用来显示表格,ligerGrid绑定数据有两种方式,一是使用本地数据,一是使用服务器数据。其中使用本地数据需要配置data参数;使用服务器数据需要配置url参数,我这里以使用本地数据建立表格来简要说明,也就是上面图中的demo2.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<base href="<%=basePath%>">
<title>Insert title here</title>
<link href="scripts/ligerUI/skins/Aqua/css/ligerui-all.css"
    rel="stylesheet" type="text/css" />
<script src="scripts/jquery/jquery-1.9.0.min.js" type="text/javascript"></script>
<script src="scripts/ligerUI/js/ligerui.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function() {
        //本地数据
        var griddata = [ {
            id : '01',
            name : '测试01'
        }, {
            id : '02',
            name : '测试02'
        }, {
            id : '03',
            name : '测试03'
        }, {
            id : '04',
            name : '测试04'
        }, {
            id : '05',
            name : '测试05'
        }, {
            id : '06',
            name : '测试06'
        }, {
            id : '07',
            name : '测试07'
        } ];
        //表格,向id为"maingrid"的div里面添加一个表格
        var grid = $("#maingrid").ligerGrid({
            //每行前面的选择框
            checkbox : true,
            //每一列的数据显示,包括显示的表头名,列宽,列单元格数据等
            columns : [ {
                name : 'id',
                display : '序号',
                width : 200
                /*
                //列汇总
                totalSummary: {
                    align: 'center',   //汇总单元格内容对齐方式:left/center/right 
                    type: 'count',     //汇总类型sum,max,min,avg ,count。可以同时多种类型
                    render: function (e) {  //汇总渲染器,返回html加载到单元格
                        //e 汇总Object(包括sum,max,min,avg,count) 
                        return "<div>总数:" + e.count + "</div>";
                    }
                }
                */
            }, {
                name : 'name',
                display : '名称',
                width : 400,
                /*
                //列汇总
                totalSummary: {
                    align: 'center',   //汇总单元格内容对齐方式:left/center/right 
                    type: 'count',     //汇总类型sum,max,min,avg ,count。可以同时多种类型
                    render: function (e) {  //汇总渲染器,返回html加载到单元格
                        //e 汇总Object(包括sum,max,min,avg,count) 
                        return "<div>总数:" + e.count + "</div>";
                    }
                }
                */
                /*
                自定义单元格显示的数据
                rowdata   行数据
                rowindex 行索引
                value    当前的值,对应rowdata[column.name]
                column   列信息
                */
                render : function(rowdata,rowindex,value,column){
                    return rowdata.id + "--" + value + "--" + column.width;
                }
            } ],
            //往表格填充的本地数据
            data : {
                Rows : griddata
            },
            //默认选中示例
            isChecked: function(rowdata){
                if(rowdata.id  == '04')
                    return true;
                return false;
            }
        });
    });
     
</script>
</head>
<body style="padding: 10px">
    <div id="maingrid"></div>
     
</body>
</html>

效果如下:

LigerUI的简单使用示例

注:上面的Rows表示的是“数据源字段名”,定义在ligerUI/js/plugins/ligerGrid.js这个文件中,包括我们进行数据分页显示时常用到的“pagesize”、“sortname”和“sortorder”也是定义在这个文件中的

LigerUI的简单使用示例

因此,在知道了字段名之后我们就可以进行自定义数据源的字段名了,比如说下面这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var grid = $("#maingrid").ligerGrid({
            checkbox : true,
            //自定义数据源字段名
            root : 'row' ,
            columns : [ {
                name : 'id',
                display : '序号',
                width : 200
                 
            }, {
                name : 'name',
                display : '名称',
                width : 400
                 
                 
            } ],
            data : {
                row : griddata
            }
        });

当然,其他的一些字段名也可以根据这个原理进行自定义设置


本文转自 pangfc 51CTO博客,原文链接:http://blog.51cto.com/983836259/1767349,如需转载请自行联系原作者