ThinkPHP與EasyUI整合之二(datagrid):刪除多條記錄


學習EasyUI已有一段時間了,現在開始逐步把平時學習的細節和難點記錄下來。

1. datagrid選中多條記錄的語句是:

  var rows = $('#dg').datagrid('getSelections'); ,而不是"$('#dg').datagrid('getSelections')"選中一條記錄。

2. 刪除多條記錄必須給數據庫傳達刪除指定數據表的記錄,一般是數據表唯一的編號id,可以給數據庫傳達一個id數組。聯想到可以

  采用Input表單數組,但在datagrid不知怎樣組合,就放棄這種想法。改用js循環讀取想要刪除的編號ID,賦給數組ids[]。

1 var ids=[];
2 var rows = $('#dg').datagrid('getSelections'); 
3    for(var i=0; i<rows.length; i++){
4              ids.push(rows[i].id);
5          }

3.在datagrid屬性中添加chackbox選框。frozenColumns:[[{field:'ck',checkbox:true}]]

View Code
 1 <script type="text/javascript">
 2          $(function(){    
 3             $('#dg').datagrid({
 4                 title:'通訊錄',
 5                 width:550,
 6                 height:350,
 7                 toolbar:'#toolbar',
 8                 url:'__APP__/Curd/read',
 9                 pagination:true,
10                 pageSize:5,
11                 pageList:[5,10,15,20],
12                 rownumbers:true,
13                 loadMsg:'數據裝載中......',
14                 frozenColumns:[[
15                     {field:'ck',checkbox:true}
16                 ]],
17                 columns:[[
18                     {title:'姓名',field:'firstname',width:'100',rowspan:2,align:'center'},
19                     {title:'全稱',field:'lastname',width:'100',rowspan:2,align:'center'},
20                     {title:'電話',field:'phone',width:'100',rowspan:2,align:'center'},
21                     {title:'郵箱',field:'email',width:'150',rowspan:2,align:'center'},
22                     {title:'編號',field:'id',width:'30',rowspan:2,align:'center'},
23                 ]]
24             })
25 
26         })

 

4.如果pagination中不想顯示英文,可引入easyui中文js標簽。

1 <script type="text/javascript" src="__ROOT__/js/easyui-lang-zh_CN.js"></script>

5.如果刪除后數據庫沒有記錄,則刪除后會出現datagrid重新加載表格數據沒有刪除,頁面重新加載后datagrid則顯示為空。解決辦法:判斷生成json數據時,當記錄為空時,賦值''給datagrid表格。

View Code
1 f ($total==0){                $userlist=array("firstname"=>'',"lastname"=>'',"phone"=>'',"email"=>'',"id"=>'');
2 json='{"total":'.$total.',"rows":['.json_encode($userlist).']}';
3 echo $json;
4 }else{                $json='{"total":'.$total.',"rows":'.json_encode($userlist).'}';//重要,easyui的標准數據格式,數據總數和數據內容在同一個json中
5 echo $json;
6 }

6.后台處理。有2種方法:

  一、將傳遞過來的參數id數組賦值給$condition['id']=array('in',$id),利用in操作一次刪除多條記錄。

1 $condition['id']=array('in',$id);
2 $result=$User->Where($condition)->delete();

  二。循環讀取傳遞過來的id參數數組,逐條刪除指定id的記錄。

1 foreach($id as $ide){
2     $result=$User->Where('id='.$ide)->delete();
3 }

 

 

以下是界面效果,僅供參考。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM