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 }

 

 

以下是界面效果,仅供参考。

 

转载于:https://www.cnblogs.com/m199/archive/2012/12/19/2824621.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值