jqGrid表格使用

基础用法

<div style="margin-top:5px;">
	<table id="jqGrid"></table>
	<div id="jqGridPager"></div>
</div>
$("#jqGrid").Grid({
url: '../platUserRole/list',
colModel: [
	{label: '角色ID', name: 'roleId', index: 'role_id', align:"center",  key: true, width: 80},
	{label: '角色名称', name: 'roleName', index: 'role_name', align:"center", width: 80},
	{label: '作用人数', name: 'effectNum', index: 'effectNum', align:"center", width: 80},
	{label: '操作', name: 'operate', index: 'operate', sortable: false, align:"center", width: 50,
		formatter: function(value, col, row) {
			return '<a οnclick="vm.roleEditBtn(' + row.roleId + ')">编辑</a>&nbsp;&nbsp;<a οnclick="vm.deleteBtn(' + row.roleId + ','+row.effectNum+')">删除</a>';
		}
	}
],
autowidth:true,
height:250
		
});

常用方法:
1、重新设置查询条件,并重置搜索结果

searchBtn: function() {
	let page = $("#jqGrid").jqGrid('getGridParam', 'page');
	$("#jqGrid").jqGrid('setGridParam', {
		postData: {'name':vm.search.name,'status':vm.search.status},
		page: page
	}).trigger("reloadGrid");
},

2、获取选中数据的keyid

//单选
let id = $("#jqGrid").getGridParam("selrow");
//多选
let ids = $("#jqGrid").getGridParam("selarrrow");

3、根据keyid获取表格选中的数据

//选中数据,返回该数据完整信息
let id = $("#jqGrid").getGridParam("selrow");
let data = $("#jqGrid").jqGrid('getRowData', id);
console.info('data is ',data);

4、增加操作列。思路:1、在colModel中增加一列 2、在列中使用formatter方法,返回html

//单参数传递操作列写法 
{label: '操作', name: 'oper', index: 'oper', width: 100,
	formatter: function(value, col, row) {			
		return "<a class='btn btn-primary' οnclick='vm.selectAttrClassBtn(\"" + row.id +"\")'>编辑</a>";							
	}
}
//多参数传递操作列写法
{label: '操作', name: 'oper', index: 'oper', width: 100,
	formatter: function(value, col, row) {			
		return "<a class='btn btn-primary' οnclick='vm.selectAttrClassBtn(\"" + row.id + "\",\""+ row.name+"\",\""+row.sex+"\",\""+row.age+"\")'>编辑</a>";							
	}
}

5、单元格数据内容居中
方式1:在colModel列中增加align:"center"属性

{label: '角色ID', name: 'roleId', index: 'role_id', align:"center",  key: true, width: 80},

方式2:使用CSS

……
<style>
	#jqGrid tr td{
		text-align:center;
	}
</style>
……
<body>
	<div style="margin-top:5px;">
		<table id="jqGrid"></table>
		<div id="jqGridPager"></div>
	</div>
</body>
……

6、设置横向滚动条

$("#jqGrid").Grid({
url: '../platUserRole/list',
colModel: [
	{label: '角色ID', name: 'roleId', index: 'role_id', align:"center",  key: true, width: 80},
	{label: '角色名称', name: 'roleName', index: 'role_name', align:"center", width: 80},
	{label: '作用人数', name: 'effectNum', index: 'effectNum', align:"center", width: 80},
	{label: '操作', name: 'operate', index: 'operate', sortable: false, align:"center", width: 50,
		formatter: function(value, col, row) {
			return '<a οnclick="vm.roleEditBtn(' + row.roleId + ')">编辑</a>&nbsp;&nbsp;<a οnclick="vm.deleteBtn(' + row.roleId + ','+row.effectNum+')">删除</a>';
		}
	}
],
//设置横向滚动条
shrinkToFit:false,
autowidth:true	
});

7、实现单元格显示图片,点击可以查看大图

……
//使用img标签,其中eyeImage为click事件处理方法(查看大图)
{label: '二维码', name: 'qrUrl', index: 'qr_url', width: 80,
	formatter: function (value,col,row) {
		return "<img width='50px' height='50px' οnclick='eyeImage(\""+ value +"\")' src='" + value + "'>";
	}
},
……
function eyeImg(url)
{
	layer.open({
		type: 1,
		title: false,
		closeBtn: 1,
		area: ['auto'],
		skin: 'layui-layer-nobg', //没有背景色
		shadeClose: true,
		content: '<img src="'+ url +'">'
	});
}
……

8、默认初始化不向服务器请求

//使用datatype: 'local'属性实现初始化不向服务器请求
//需要请求服务器时设置datatype:'json'即可
	$("#inform").Grid({
        url: '../shopdynamicscommentrecord/list?operateType=1',
        //初始化不向服务器请求
	  	datatype: 'local',
        colModel: [
			{label: 'id', name: 'id', index: 'id', key: true, hidden: true},
			{label: '图片', name: 'pictureOne', index: 'picture_one', width: 80,hidden:true},
			{label: '图片', name: 'pictureTwo', index: 'picture_two', width: 80,hidden:true},
			{label: '图片', name: 'pictureThree', index: 'picture_three', width: 80,hidden:true},
			{label: '图片', name: 'pictureFour', index: 'picture_four', width: 80,hidden:true},
			{label: '扩展字段', name: 'parm', index: 'parm', width: 80,hidden:true}
		]
    });


	let page = $("#inform").jqGrid('getGridParam', 'page');
	$("#inform").jqGrid('setGridParam', {
		url:'../shopdynamicscommentrecord/list?operateType=1',
		//请求服务器
		datatype:'json',
        postData: {'userName': vm.q.userName},
        page: page
      }).trigger("reloadGrid");

9、隐藏水平滚动条

隐藏水平滚动条	
<style>
	.ui-jqgrid .ui-jqgrid-bdiv{ overflow-x: hidden; }
</style>

10、jqGrid “加载中” 文字修改

方式一:使用GIF

.ui-jqgrid .loading
{
		left: 45%;
		top: 45%;
		background: url(../statics/img/loading.gif);
		background-position-x: 50%;
		background-position-y: 50%;
		background-repeat: no-repeat;
		border:0;
		height: 60px;
		width: 60px;
}
$("#jqGrid").Grid({
		url: '../../list',
	...
		loadtext:'',
	...
});

要删除jqgrid的“正在加载…”文本,您可以使用loadtext:’’ jqGrid选项或覆盖grid.locale-en.js的全局设置:$.jgrid.defaults.loadtext=’’;

方式二:使用FontAwesome

 .ui-jqgrid .loading {
        background-color: transparent;
        border: 0px;
        -webkit-animation: fa-spin 2s infinite linear;
        animation: fa-spin 2s infinite linear;
    }

    .ui-jqgrid .loading:before {
        content: "f110";
        font-family: FontAwesome;
        font-size:40px;
    }
$(function () {
	$.jgrid.defaults.loadtext='';
});

11、设置表格高度和默认显示条数

$("#jqGrid").Grid({
		url: '../../list',
	...
		height: 550,
		pager: "#jqGridPager",  
		rowNum:50,   
		rowList: [30,50,100],  
		loadonce:false,//关键所在  
	...
});

效果:
在这里插入图片描述

参考:https://www.orcode.com/question/1107257_ke76d2.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤设置 jqGrid 表格样式: 1. 引入 jqGrid 插件和样式文件。 ``` <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/5.4.0/css/ui.jqgrid.min.css" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/5.4.0/js/jquery.jqgrid.min.js"></script> ``` 2. 在 HTML 页面中添加一个 div 元素作为表格容器。 ``` <div id="grid"></div> ``` 3. 使用 JavaScript 代码初始化 jqGrid 表格并设置样式。 ``` $(function(){ $("#grid").jqGrid({ url: "data.json", datatype: "json", colModel: [ { name: "id", label: "ID", width: 50 }, { name: "name", label: "Name", width: 150 }, { name: "age", label: "Age", width: 50 }, { name: "address", label: "Address", width: 200 } ], rowNum: 10, rowList: [10, 20, 30], pager: "#pager", sortname: "id", viewrecords: true, sortorder: "asc", caption: "Sample Grid" }); $("#grid").jqGrid("navGrid", "#pager", { edit: false, add: false, del: false }); }); ``` 4. 在 CSS 文件中添加样式。 ``` .ui-jqgrid { font-size: 14px; } .ui-jqgrid tr.jqgrow td { padding: 5px; } .ui-jqgrid .ui-jqgrid-hdiv { background-color: #f2f2f2; } .ui-jqgrid .ui-jqgrid-btable { border-collapse: separate; border-spacing: 0px; } .ui-jqgrid .ui-jqgrid-pager { background-color: #f2f2f2; border-top: none; } .ui-jqgrid .ui-jqgrid-pager .ui-pg-table { margin: 0; } .ui-jqgrid .ui-jqgrid-pager .ui-pg-table .ui-pg-button { border: none; margin: 0 5px; } .ui-jqgrid .ui-jqgrid-pager .ui-pg-table .ui-pg-button:hover { background-color: #e6e6e6; } ``` 注意:样式文件中的样式可以根据需要进行修改,以上只是一个示例。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值