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

Datagrid(數據表)

依賴的組件

resizable

linkbutton

pagination

DataGrid Options對象的屬性

名稱(Name) 類型(Type) 描述(Description) 默認值(Default)
Titile string Datagrid數據表的標題 null

 

iconCls string 一個樣式類提供作爲數據表圖標的背景圖標 null

 

border boolean 是否顯示數據表邊框,true-顯示 false-不顯示 true

 

width number  設置Datagrid的寬度 auto

 

height  number 設置Datagrid的高度 auto

 

columns

 

array 配置Datagrid列屬性的Object對象 null
frozenColumns

 

array

 

與columns屬性一樣,但是該屬性設置的列會被凍結在Datagrid的左邊

 

null

 

striped boolean 是否顯示斑馬線 false
Method string 遠程數據的獲取類型,可取值爲post或get post
nowrap oolean 是否把數據顯示在一行上,如果設置爲false,當數據長度超過列長度時,超過的部分被截掉 true

 

idField string 表明哪個字段是一個標識字段 null
url string 從遠程地址請求數據的url null
loadMsg string  當從遠程站點加載數據時顯示的提示消息 Processing, please wait …
pagination boolean

 

設置是否有分頁功能

 

false

 

rownumbers number

 

是否顯示行號列

 

false

 

singleSelect number 設置是否可只選一行 false
fit boolean 設置是否可以讓表格自動縮放以適應父容器 false
pageNumber number 當設置pagination屬性時,初始化頁碼 1
pageSize number 當設置pagination屬性時,初始化每一頁顯示的數量 10
pageList array 當設置pagination屬性時,初始化每頁可選的數據大小清單 [10,20,30,40,50]
queryParams Object 當請求遠程數據時,發送的額外的參數 {}
sortName string 定義哪一列可以排序 null
sortOrder string 定義列排序的方式,遞增(asc)或遞減(desc) asc

Columns屬性

Name Type Description Default
title 字符串 列標題文字 undefined 
field  字符串 列字段名稱 undefined
width 數字 列寬度 undefined
rowspan 數字 該列佔幾行單元格 undefined
colspan 數字 該列佔幾列單元格 undefined
align 字符串 數據對其方式,可選值有left,right,center undefined
sortable 布爾 是否允許該列排序 undefined
checkbox 布爾 是否顯示選擇框 undefined

 

formatter 函數 包含三個參數:

 

value: 列字段對應的值

rowData: 行數據對象

rowIndex: 行索引

und
editor string,object 指示編輯類型,有兩個子屬性,type和options;type可選的編輯框有:text,textarea,checkbox,numberbox,validatebox,datebox,combobox,combotree;options指定一個對象,與編輯類型對應,數字框對應的options屬性中有precision,表示小數點位數

 

undefined

 

事件

Name Parameters Description
onLoadSuccess none 遠程數據成功加載時觸發
onLoadError none 遠程數據加載發生錯誤時觸發
onClickRow rowIndex,rowData 用戶點擊一行時觸發,參數包括:

 

rowIndex:被點擊行的索引,索引從0開始

rowData:被點擊行對應的數據記錄

onDblClickRow rowIndex,rowData 用戶雙擊一行時觸發,參數同上
onSortColumn sort,order 用戶對一列進行排序時觸發,參數包括:

 

sort:被排序的類字段名稱

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

onSelect rowIndex,rowData 用戶選擇一行時觸發
onUnselect rowIndex,rowData 當用取消選擇一行時觸發

 

方法

Nam Parameters Description
options none  返回一個options對象
resize none 調整表格大小和佈局
reload none 重新加載行
fixColumnSize none 固定列的大小
loadData param 加載本地數據,舊行將被刪
getSelected none 返回被選中的第一行記錄或者null
getSelections none 返回所有被選中的行,當沒有一條記錄別選中時則返回一個空的數組對象
clearSelections none 取消所有選中
selectRow index 選擇一行,行索引從0開始
selectRecord idValue 通過行id值選擇一行
unselectRow index 取消選中某行
beginEdit index 開始編輯某行
endEdit index 結束編輯某行
cancelEdit index 取消編輯某行
refreshRow index 刷新一行的數據
appendRow row 添加新行
deleteRow index 刪除一行
getChanges type 自最後一次數據提交開始獲取被改變的行,類型參數指示的是行的改變類型,可能的值是:inserted,deleted,updated等,當類型參數沒有指定時將返回所有被改變的行
acceptChanges none 自數據被加載或者最後一次調用acceptChanges的時間開始,提交所有的數據變化
rejectChanges none 自所有數據被創建或者最後一次調用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事件

事件名 參數 描述
onSelectPage pageNumber, pageSize 當用戶選擇一個新頁時觸發,回調函數包含兩個參數:pageNumber: 新頁面的頁數pageSize: 新頁面的大小
onBeforeRefresh  ageNumber, pageSize 刷新按鈕被點擊之前觸發,如果返回false則取消刷新操作
onRefresh ageNumber, pageSize 刷新以後觸發
onChangePageSize ageSize 改變頁面大小時觸發

 

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="#" οnclick="resize()">resize</a>

<a href="#" οnclick="getSelected()">getSelected</a>

<a href="#" οnclick="getSelections()">getSelections</a>

<a href="#" οnclick="clearSelections()">clearSelections</a>

<a href="#" οnclick="selectRow()">selectRow</a>

<a href="#" οnclick="selectRecord()">selectRecord</a>

<a href="#" οnclick="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 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章