利用ligerUI实现类似数据列表过滤展示,类似JQuery datatable和某些框架的dataGrid


1. 利用的是ligerui的框架,本篇文章使用的ligui版本是LigerUIV1.3.3 , 网址  <a href="http://www.ligerui.com">www.ligerui.com</a>


2. 如下图展示



3.代码如下

3.1 先导入css 和 js文件

 

<!-- 导入css样式  -->
<link href="${ctx}/js/ligerUI/skins/Aqua/css/ligerui-all.css" rel="stylesheet" type="text/css" />
<%-- <link href="${ctx}/js/ligerUI/skins/ligerui-icons.css" rel="stylesheet" type="text/css" /> --%>
<%-- <link href="${ctx}/js/ligerUI/skins/Gray/css/all.css" rel="stylesheet" type="text/css" />  --%>

<!-- 导入js文件 -->
<script src="${ctx}/js/jquery/jquery-1.9.0.min.js" type="text/javascript"></script>
<script src="${ctx}/js/ligerUI/js/core/base.js" type="text/javascript"></script>
<script src="${ctx}/js/ligerUI/js/plugins/ligerGrid.js" type="text/javascript"></script>
<script src="${ctx}/js/ligerUI/js/plugins/ligerTextBox.js" type="text/javascript"></script>
<script src="${ctx}/js/ligerUI/js/plugins/ligerCheckBox.js" type="text/javascript"></script>
<script src="${ctx}/js/ligerUI/js/plugins/ligerMenu.js" type="text/javascript"></script>
<script src="${ctx}/js/ligerUI/js/plugins/ligerComboBox.js" type="text/javascript"></script>
<script src="${ctx}/js/ligerUI/js/plugins/ligerMenuBar.js" type="text/javascript"></script>
<script src="${ctx}/js/ligerUI/js/plugins/ligerToolBar.js" type="text/javascript"></script>
<script src="${ctx}/js/ligerUI/js/plugins/ligerButton.js" type="text/javascript"></script>
<script src="${ctx}/js/ligerUI/js/plugins/ligerResizable.js" type="text/javascript"></script>
<script src="${ctx}/js/ligerUI/js/plugins/ligerDialog.js" type="text/javascript"></script>
<script src="${ctx}/js/ligerUI/js/plugins/ligerDrag.js" type="text/javascript"></script>

3.2 HTML内容

<div class="content">
			<div class="search">
				<label style="font-size: 20px;">姓名:</label>
				<input type="text" id="clientName" style="height: 25px;" />
				<label style="margin-left: 50px; font-size: 20px;">年龄:</label>
				<input type="text" id="clientAge" style="height: 25px;" />
				<input type="button" id="filterBtn" value="过滤">
			</div>
			<div id="maingrid4" style="margin: 0; padding: 0"></div>
</div>

3.3  js框架处理

function onedit(id) {
	alert(id);
};

var usrGrid;

$(function() {
	//初始化表格
	usrGrid = $("#maingrid4").ligerGrid({
		columns : [{
					display : '主键',
					name : 'id',
					align : 'left',
					width : 120,
					hide : true,
					type : 'int'
				}, {
					display : '姓名',
					name : 'name',
					width : 120
				}, {
					display : '年龄',
					name : 'age',
					width : 120
				}, {
					display : 'accountId',
					name : 'accountId',
					width : 120,
					hide : true
				}, {
					display : '账户',
					name : 'accountName',
					width : 120,
					align : 'left'
				}, {
					display : '操作',
					render : function(row) {
						var html = "<a href='#' οnclick='onedit(\""
								+ row.name + "\")';>编辑</a>";
						return html;
					}
				}],
		checkbox : true,// 是否支持复选框
		width : 'auto',
		height : '80%',
		rownumbers : true,// 显示行号
		// 发送到服务器的参数
		pageParmName : 'pageNo',// 页号的参数名
		pagesizeParmName : 'pageSize',// 每页数据量的参数名
		pageSize : 10,// 设置每页显示的数据条数

		// 设置接收来自服务器返回的json参数
		record : 'total',// 总页数参数名
		root : 'data',// 当前查询页的数据参数名

		url : top.pt.ctx + '/web/module/user/findUserPageList.action',
		method : 'post',
		// 自己额外需要传递到服务器的参数
		parms : {
			"country" : 'cn',
			"customerId" : 'tgfig_658947'
		}

	});
	//点击过滤按钮后的处理
	$("#filterBtn").click(function() {
		var gridManager = $("#maingrid4").ligerGetGridManager();
		// setOptions可以额外添加发送到服务器的参数
		var clientName = $("#clientName").val();
		var clientAge = $("#clientAge").val();
		gridManager.setOptions({
					parms : [{
								name : 'clientName',
								value : clientName
							}, {
								name : 'clientAge',
								value : clientAge
							}]
				});
		gridManager.loadData(true);
	});
});


3.4 浏览器向服务器提交的数据



3.5  服务器返回的json数据内容如下

{"data":[{"accountId":2001,"accountName":"家人账户","age":23,"college":"555","id":105,"name":"555"},{"accountId":2002,"accountName":"奖学金卡","age":45,"college":"234","id":1001,"name":"Jack"},{"age":21,"college":"369","id":1002,"name":"Tom"},{"age":17,"college":"589","id":1003,"name":"Jane"},{"age":19,"college":"111","id":1004,"name":"111"},{"age":20,"college":"66","id":1006,"name":"666"},{"age":21,"college":"777","id":1007,"name":"777"},{"age":18,"college":"888","id":1008,"name":"888"},{"age":17,"college":"99","id":1009,"name":"999"},{"age":22,"college":"1011","id":1011,"name":"1011"}],"total":12}


3.6 在过滤栏输入过滤内容

   


 3.7  点击过滤按钮后向服务器提交的请求参数









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先需要在Vue项目中引入LigerUI的相关文件,可以通过CDN或下载LigerUI的文件进行引入。然后在Vue组件中定义一个grid组件,并在该组件中引入LigerUI的相关代码。 在Vue组件中的template中,可以使用LigerUI提供的grid标签来创建grid组件,例如: ``` <liger-grid :columns="columns" :data="data"></liger-grid> ``` 其中,columns是定义grid的列信息,data是要展示数据信息。 在Vue组件中的script中,需要定义columns和data两个变量,例如: ``` <script> export default { name: 'MyGrid', data () { return { columns: [ { display: 'ID', name: 'id', width: 80, align: 'center' }, { display: 'Name', name: 'name', width: 120, align: 'left' }, { display: 'Email', name: 'email', width: 200, align: 'left' }, { display: 'Address', name: 'address', width: 200, align: 'left' } ], data: [ { id: 1, name: 'John', email: 'john@example.com', address: 'New York' }, { id: 2, name: 'Jane', email: 'jane@example.com', address: 'London' }, { id: 3, name: 'Bob', email: 'bob@example.com', address: 'Paris' } ] } } } </script> ``` 以上是一个简单的示例,其中columns定义了grid的列信息,包括列名、列字段名、列宽度和对齐方式等,data定义了要展示数据信息。 需要注意的是,LigerUI的grid组件需要在mounted生命周期中进行初始化,例如: ``` mounted () { this.$nextTick(() => { $(this.$el).ligerGrid({ columns: this.columns, data: this.data }) }) } ``` 以上代码中,使用jQuery选择当前组件的元素,然后调用ligerGrid方法进行初始化,传入columns和data参数。 最后,需要在组件销毁时销毁grid组件,例如: ``` beforeDestroy () { $(this.$el).ligerDestroy() } ``` 以上是用Vue实现LigerUI的grid组件的基本步骤,可以根据实际需求进行调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值