jqery-easyui的Datagrid的介绍-Pagination事件

本文详细介绍了EasyUI框架中的Datagrid组件,包括其属性、方法、事件及依赖组件。提供了实例代码,展示了如何使用Datagrid进行数据展示、分页、排序等功能,并解释了如何通过工具条和事件处理增强Datagrid的交互性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Datagrid(数据表)

依赖的组件

resizable

linkbutton

pagination

DataGrid Options对象的属性

名称(Name)类型(Type)描述(Description)默认值(Default)
TitilestringDatagrid数据表的标题null

 

iconClsstring一个样式类提供作为数据表图标的背景图标null

 

borderboolean是否显示数据表边框,true-显示 false-不显示true

 

widthnumber 设置Datagrid的宽度auto

 

height number设置Datagrid的高度auto

 

columns

 

array配置Datagrid列属性的Object对象null
frozenColumns

 

array

 

与columns属性一样,但是该属性设置的列会被冻结在Datagrid的左边

 

null

 

stripedboolean是否显示斑马线false
Methodstring远程数据的获取类型,可取值为post或getpost
nowrapoolean是否把数据显示在一行上,如果设置为false,当数据长度超过列长度时,超过的部分被截掉true

 

idFieldstring表明哪个字段是一个标识字段null
urlstring从远程地址请求数据的urlnull
loadMsgstring 当从远程站点加载数据时显示的提示消息Processing, please wait …
paginationboolean

 

设置是否有分页功能

 

false

 

rownumbersnumber

 

是否显示行号列

 

false

 

singleSelectnumber设置是否可只选一行false
fitboolean设置是否可以让表格自动缩放以适应父容器false
pageNumbernumber当设置pagination属性时,初始化页码1
pageSizenumber当设置pagination属性时,初始化每一页显示的数量10
pageListarray当设置pagination属性时,初始化每页可选的数据大小清单[10,20,30,40,50]
queryParamsObject当请求远程数据时,发送的额外的参数{}
sortNamestring定义哪一列可以排序null
sortOrderstring定义列排序的方式,递增(asc)或递减(desc)asc

Columns属性

NameTypeDescriptionDefault
title字符串列标题文字undefined 
field 字符串列字段名称undefined
width数字列宽度undefined
rowspan数字该列占几行单元格undefined
colspan数字该列占几列单元格undefined
align字符串数据对其方式,可选值有left,right,centerundefined
sortable布尔是否允许该列排序undefined
checkbox布尔是否显示选择框undefined

 

formatter函数包含三个参数:

 

value: 列字段对应的值

rowData: 行数据对象

rowIndex: 行索引

und
editorstring,object指示编辑类型,有两个子属性,type和options;type可选的编辑框有:text,textarea,checkbox,numberbox,validatebox,datebox,combobox,combotree;options指定一个对象,与编辑类型对应,数字框对应的options属性中有precision,表示小数点位数

 

undefined

 

事件

NameParametersDescription
onLoadSuccessnone远程数据成功加载时触发
onLoadErrornone远程数据加载发生错误时触发
onClickRowrowIndex,rowData用户点击一行时触发,参数包括:

 

rowIndex:被点击行的索引,索引从0开始

rowData:被点击行对应的数据记录

onDblClickRowrowIndex,rowData用户双击一行时触发,参数同上
onSortColumnsort,order用户对一列进行排序时触发,参数包括:

 

sort:被排序的类字段名称

order:排序的命令,asc 或者 desc

onSelectrowIndex,rowData用户选择一行时触发
onUnselectrowIndex,rowData当用取消选择一行时触发

 

方法

NamParametersDescription
optionsnone 返回一个options对象
resizenone调整表格大小和布局
reloadnone重新加载行
fixColumnSizenone固定列的大小
loadDataparam加载本地数据,旧行将被删
getSelectednone返回被选中的第一行记录或者null
getSelectionsnone返回所有被选中的行,当没有一条记录别选中时则返回一个空的数组对象
clearSelectionsnone取消所有选中
selectRowindex选择一行,行索引从0开始
selectRecordidValue通过行id值选择一行
unselectRowindex取消选中某行
beginEditindex开始编辑某行
endEditindex结束编辑某行
cancelEditindex取消编辑某行
refreshRowindex刷新一行的数据
appendRowrow添加新行
deleteRowindex删除一行
getChangestype自最后一次数据提交开始获取被改变的行,类型参数指示的是行的改变类型,可能的值是:inserted,deleted,updated等,当类型参数没有指定时将返回所有被改变的行
acceptChangesnone自数据被加载或者最后一次调用acceptChanges的时间开始,提交所有的数据变化
rejectChangesnone自所有数据被创建或者最后一次调用accepChanges方法开始回滚所有变化了的数据

 

注:示例中用到了分页,Datagrid依赖pagination(分页)组件,下面讲解以下pagination组件的属性和事件

Paginagion

Pagination属性

属性名类型描述默认值
total数字

 

当分页建立时设置记录的总数量1
pageSize

 

数字

 

每一页显示的数量

 

10

 

pageNumber数字

 

当分页建立时,显示的页数1
pageList数组

 

用户可以修改每一页的大小,pageList属性定义了多少种大小可以改变.

 

[10,20,30,50]

 

loading布尔

 

定义数据是否正在加false
buttons数组

 

定义自定义按钮,每个按钮包含两个属性:iconCls:     显示背景图像的CSS类

 

handler:   当一个按钮被点击时的处理函数

null
showPageList布尔

 

定义是否显示页面列表true
showRefresh布尔

 

定义是否显示刷新按钮true
beforePageText字符串

 

在输入框组件前显示的标签Page
afterPageText字符串

 

在输入框组件后显示的标签Of  {pages}
displayMsg字符串

 

显示一个页面的信息。Displaying {from} {to}  of        {total}        items  注:{param}是固定的参数设置,不能修改

Pagination事件

事件名参数描述
onSelectPagepageNumber, pageSize当用户选择一个新页时触发,回调函数包含两个参数:pageNumber: 新页面的页数pageSize: 新页面的大小
onBeforeRefresh ageNumber, pageSize刷新按钮被点击之前触发,如果返回false则取消刷新操作
onRefreshageNumber, pageSize刷新以后触发
onChangePageSizeageSize改变页面大小时触发

 

1.实例
(1)代码

 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>EasyUI Datagrid</title>

<link rel="stylesheet" type="text/css"

    href="../themes/default/easyui.css">

<link rel="stylesheet" type="text/css" href="../themes/icon.css">

<script type="text/javascript" src="../jquery-1.4.2.min.js"></script>

<script type="text/javascript" src="../jquery.easyui.min.js"></script>

<script>

    $(function(){

       $('#test').datagrid({

           title:'My Title',

           iconCls:'icon-save',

           width:800,

           height:450,

           nowrap: true,       

           striped: true,

           url:'datagrid_data.json',

           sortName: 'code',

           sortOrder: 'desc',

           idField:'code',

           frozenColumns:[[

{field:'ck',checkbox:true},

                 {title:'code',field:'code',width:80,sortable:true}

           ]],

           columns:[[

{title:'Base Information',colspan:3},

{field:'opt',title:'Operation',width:100,align:'center'

,rowspan:2,formatter:function(value,rec){

                  return '<span style="color:red">Edit Delete</span>';

              }

           }],

[{field:'name',title:'Name',width:120},

                 {field:'addr',title:'Address',width:120,rowspan:2,sortable:true},

           {field:'col4',title:'Col41',width:150,rowspan:2}

           ]],

           pagination:true,

           rownumbers:true,

           singleSelect:true,

           //事件调用的方式

           onLoadSuccess: function (){alert('load data successfully!');}

           toolbar:[{ //设置工具条,该工具条中设置了三个功能按钮

              text:'Add',   //标题为’Add’的工具条按钮

              iconCls:'icon-add',//工具条按钮显示的图标

              handler:function(){//工具条按钮实现的功能函数

                  alert('add')

              }

           },{

              text:'Cut',   //标题为’Cut’的工具条按钮

              iconCls:'icon-cut',

              disabled:true,

              handler:function(){

                  alert('cut')

              }

           },'-',{

              text:'Save',

              iconCls:'icon-save',

              handler:function(){

                  alert('save')

              }

           }]

       });

       //获取页面分页对象

       var p = $('#test').datagrid('getPager');

       if (p){

           $(p).pagination({ //设置分页功能栏

              //分页功能可以通过Pagination的事件调用后台分页功能来实现

              onBeforeRefresh:function(){

                  alert('before refresh');

              }

           });

       }

    });

 

    function resize(){

       $('#test').datagrid({

           title: 'New Title',

           striped: true,

           width: 650,

           queryParams:{

              p:'param test',

              name:'My Name'

           }

       });

    }

    //获取Datagrid Options对象属性的方式

    function getGridProperty(){

       //先获取Options对象,然后通过Options获取其属性

       var optionsObj = $('#test').datagrid('options');

       var queryParams = optionsObj.queryParams;

      

}

 

//以下为调用Datagrid的函数的自定义方法

    function getSelected(){

       var selected = $('#test').datagrid('getSelected');

       alert(selected.code+":"+selected.name);

    }

    function getSelections(){

       var ids = [];

       var rows = $('#test').datagrid('getSelections');

       for(var i=0;i<rows.length;i++){

           ids.push(rows[i].code);

       }

       alert(ids.join(':'))

    }

    function clearSelections(){

       $('#test').datagrid('clearSelections');

    }

    function selectRow(){

       $('#test').datagrid('selectRow',2);

    }

    function selectRecord(){

       $('#test').datagrid('selectRecord','002');

    }

    function unselectRow(){

       $('#test').datagrid('unselectRow',2);

    }

</script>

</head>

<body>

<h1>DataGrid</h1>

<div style="margin-bottom: 10px;">

<a href="#" onclick="resize()">resize</a>

<a href="#" onclick="getSelected()">getSelected</a>

<a href="#" onclick="getSelections()">getSelections</a>

<a href="#" onclick="clearSelections()">clearSelections</a>

<a href="#" onclick="selectRow()">selectRow</a>

<a href="#" onclick="selectRecord()">selectRecord</a>

<a href="#" onclick="unselectRow()">unselectRow</a>

</div>

<table id="test"></table>

</body>

</html>

转自:https://www.cnblogs.com/zhangtianle/p/9023259.html

easyUi reload 重定向URL

今天在做工资流程操作的时候,需要根据下拉 展示不同的 流程信息。

使用 easyUi 的 $("dg").datagrid('reload');  只是重载当前的URL,

无法根据类型载入不同的数据,查了下 发现API也没有明确阐述重定向URL,

在Google的时候发现一篇文章,

$('#telGrid').datagrid({url:'http://www.my400800.cn',    
queryParams:{s_key:'400',  website:'http://www.my400800.cn/LianXiWoMen.html' }
});

根据以上方法稍作修改即可 重定向。

$("#dg").datagrid({url:"${ctx}/tsalSalaryFlowController.do?method=getflowXmlConfig&flowType="+$("#flowType").val()});

代码如上!


原文:https://blog.csdn.net/xiao2shiqi/article/details/7535586 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值