首頁 >web前端 >js教程 >Easyui Datagrid自訂按鈕列詳解

Easyui Datagrid自訂按鈕列詳解

小云云
小云云原創
2018-01-01 10:36:302805瀏覽

做專案的時候因為需求,要在表格的最後新增一列操作列,easyUI貌似沒有提供這種功能,下面我們來自訂按鈕列,具體實現程式碼,大家參考下本文吧,希望能幫助大家。

版本:jQuery easyUI 1.3.2

這裡我的實作方式是採用HTML形式,js方式暫時還沒用到

首先是HTML部分


<table id="dg" title="学生信息" class="easyui-datagrid" 
      url="${ctx}listStudent.do" 
      toolbar="#toolbar" pagination="true" 
      rownumbers="false" fitColumns="true" singleSelect="true"> 
    <thead> 
      <tr> 
        <th data-options="field:&#39;stuNo&#39;,sortable:true,width:20">学号</th> 
        <th data-options="field:&#39;name&#39;,width:20">姓名</th> 
        <th data-options="field:&#39;gender&#39;,width:20,formatter:formatGender">性别</th> 
        <th data-options="field:&#39;nationality&#39;,width:20">名族</th> 
        <th data-options="field:&#39;address&#39;,width:50,formatter:formatAddr">家庭地址</th> 
        <th data-options="field:&#39;mobile&#39;,width:20">手机号</th> 
        <th data-options="field:&#39;birthday&#39;,width:20">出生日期</th> 
        <th data-options="field:&#39;registDate&#39;,sortable:true,width:20">入学时间</th> 
        <th data-options="field:&#39;_operate&#39;,width:80,align:&#39;center&#39;,formatter:formatOper">操作</th> 
      </tr> 
    </thead> 
  </table> 
<th data-options="field:&#39;_operate&#39;,width:80,align:&#39;center&#39;,formatter:formatOper">操作</th>

注意紅色部分,就是我們的操作列,field的名字隨便取,我這裡是_operate,關鍵是formatOper函數


function formatOper(val,row,index){ 
  return &#39;<a href="#" rel="external nofollow" onclick="editUser(&#39;+index+&#39;)">修改</a>&#39;; 
}

formatOper()函數中有三個參數,val指當前單元格的值,row,當前行物件,index當前行的索引.這裡我們就需要這個index

我把這個index傳入了一個叫editUser的函數中,為什麼要傳這個index呢,我們在來看下這個editUser函數


function editUser(index){ 
  $(&#39;#dg&#39;).datagrid(&#39;selectRow&#39;,index);// 关键在这里 
  var row = $(&#39;#dg&#39;).datagrid(&#39;getSelected&#39;); 
  if (row){ 
    $(&#39;#dlg&#39;).dialog(&#39;open&#39;).dialog(&#39;setTitle&#39;,&#39;修改学生信息&#39;); 
    $(&#39;#fm&#39;).form(&#39;load&#39;,row); 
    url = &#39;${ctx}updateStudent.do?id=&#39;+row.id; 
  } 
}

翻閱easyUI文檔可以發現datagrid有一個方法叫selectRow


selectRow index Select a row, the row index start with 0.

它的作用就是手動選取表格的行,參數就是index值,從0開始

這樣,我們就能即時取得到滑鼠點選行所對應的資料了 


$(&#39;#dg&#39;).datagrid(&#39;selectRow&#39;,index);
var row = $(&#39;#dg&#39;).datagrid(&#39;getSelected&#39;);

這兩句話就是取得選取的行

##具體效果如圖 

相關推薦:


實例詳解EasyUI的DataGrid每行資料新增操作按鈕

EasyUi控制項中的Datagrid詳解

詳解EasyUI的DataGrid綁定Json資料來源方法#

以上是Easyui Datagrid自訂按鈕列詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn