easyUI 展开DataGrid里面的行显示详细信息

http://blog.csdn.net/yanghongchang_/article/details/7854156原著

datagrid 可以改变它的view(视图)去显示不同的效果.使用详细视图,datagrid可以显示展开按钮("+" 或者 "-")在数据行的左边,用户可以展开一个行去显示一个附加的详细信息.

查看 Demo

 

步骤 1: 创建 DataGrid

[html] view plaincopy
  1. <table id="dg" style="width:500px;height:250px" url="data/datagrid_data.json" title="DataGrid - Expand Row" singleselect="true" fitcolumns="true">    
  2.     <thead>    
  3.         <tr>    
  4.             <th field="itemid" width="60">Item ID</th>    
  5.             <th field="productid" width="80">Product ID</th>    
  6.             <th field="listprice" align="right" width="70">List Price</th>    
  7.             <th field="unitcost" align="right" width="70">Unit Cost</th>    
  8.             <th field="status" width="50" align="center">Status</th>    
  9.         </tr>    
  10.     </thead>    
  11. </table>    

步骤 2: 为DataGrid设置详细视图

使用详细视图,切记:引入视图script文件在你的页面的头部.

 

 

[html] view plaincopy
  1. <script type="text/javascript" src="http://www.jeasyui.com/easyui/datagrid-detailview.js"></script>    
[javascript] view plaincopy
  1. $('#dg').datagrid({    
  2.     view: detailview,    
  3.     detailFormatter:function(index,row){    
  4.         return '<div id="ddv-' + index + '" style="padding:5px 0"></div>';    
  5.     },    
  6.     onExpandRow: function(index,row){    
  7.         $('#ddv-'+index).panel({    
  8.             border:false,    
  9.             cache:false,    
  10.             href:'datagrid21_getdetail.php?itemid='+row.itemid,    
  11.             onLoad:function(){    
  12.                 $('#dg').datagrid('fixDetailRowHeight',index);    
  13.             }    
  14.         });    
  15.         $('#dg').datagrid('fixDetailRowHeight',index);    
  16.     }    
  17. });    

我们定义detailFormatter函数告诉datagrid 如何渲染详细视图,在这种情况下,我们返回一个简单的 '<div>'元素,它将充当最为一个详细内容的容器,

 

注意:详细信息为空,当用户点击展开按钮('+'),onExpandRow事件将被触发,所以我们可以写一些代码去加载ajax详细内容,最后我们调用fixDetailRowHeight方法去固定行高度,当详细内容加载之后.

 

步骤 3: 服务器端代码

 

datagrid21_getdetail.php

 

[php] view plaincopy
  1. <?php    
  2. $itemid = $_REQUEST['itemid'];    
  3.     
  4. $content = file_get_contents('data/datagrid_data.json');    
  5. $data = json_decode($content,true);    
  6. foreach($data['rows'] as $item){    
  7.     if ($item['itemid'] == $itemid){    
  8.         break;    
  9.     }    
  10. }    
  11.     
  12. ?>    
  13.     
  14. <table class="dv-table" border="0" style="width:100%;">    
  15.     <tr>    
  16.         <td rowspan="3" style="width:60px">    
  17.             <?php    
  18.                 echo "<img src=\"images/$itemid.gif\" style=\"height:50px\"/>";    
  19.             ?>    
  20.         </td>    
  21.         <td class="dv-label">Item ID: </td>    
  22.         <td><?php echo $item['itemid'];?></td>    
  23.         <td class="dv-label">Product ID:</td>    
  24.         <td><?php echo $item['productid'];?></td>    
  25.     </tr>    
  26.     <tr>    
  27.         <td class="dv-label">List Price: </td>    
  28.         <td><?php echo $item['listprice'];?></td>    
  29.         <td class="dv-label">Unit Cost:</td>    
  30.         <td><?php echo $item['unitcost'];?></td>    
  31.     </tr>    
  32.     <tr>    
  33.         <td class="dv-label">Attribute: </td>    
  34.         <td colspan="3"><?php echo $item['attr1'];?></td>    
  35.     </tr>    
  36. </table>    

转载于:https://www.cnblogs.com/lacey/p/5884377.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue父组件调用子组件的方法;vue子组件使用父组件的方法

vue父组件调用子组件的方法 <div><son ref"son"></son></div>// 直接在父组件页面的某个点击事件内调用此方法即可 sonMethod是子组件的方法 // 注意当前父组件内的子组件需要设置ref this.$nextTick(() > {this.$refs[son].sonMethod(参…

理解OAuth 2.0(转)

From: http://www.mamicode.com/info-detail-1610036.html 理解OAuth 2.0 作者&#xff1a; 阮一峰 日期&#xff1a; 2014年5月12日 OAuth是一个关于授权&#xff08;authorization&#xff09;的开放网络标准&#xff0c;在全世界得到广泛应用&#xff0c;目前的版本是2.0版。…

Havel-Hakimi定理

转自http://sbp810050504.blog.51cto.com/2799422/883904 我一直想写一些关于图论学习的收获。一直由于这样或者那样的原因都没有开始。无论如何&#xff0c;现在开始吧&#xff01;那么到底什么是图呢&#xff1f;我们这里说的图当然不是像照片一样的东东。最权威的定义&a…

Axure RP 8.0正式版下载地址 安装和汉化说明

1.Axure RP和中文包包下载地址 官网地址&#xff1a;http://www.axure.com.cn/3510/ 2.下载完成后安装 3.破解 axure8.0注册码激活码&#xff1a;&#xff08;亲测可用&#xff09;用户名&#xff1a;aaa注册码&#xff1a;2GQrt5XHYY7SBK/4b22Gm4Dh8alaR0/0k3gEN5h7FkVPIn8oG3…

el-table记录删除后的表格滚动条位置

场景&#xff1a;一般el-table的删除操作&#xff0c;在删除数据后前端会重新调接口获取数据&#xff0c;此时列表更新会自动回到el-table顶部。但是我们想要让列表刷新后回到当时的滚动条位置那里&#xff0c;那么就需要记住删除时候的位置。 <el-table ref"eltable&q…

curry化函数

Curry化是一个转换过程&#xff0c;即我们执行函数的转换过程. function fn(x,y){ if(typeof y"undefined"){ return function(y){ return xy; } } return xy; } console.log(fn(10,5)) console.log(fn(1…

wcf返回datatable必须给tablename赋值

From: http://www.cnblogs.com/hxw/archive/2010/07/10/1774841.html 最近在学习WCF,返回datatable的时候老是出现“An error occurred while receiving the HTTP response to http://localhost:9999/calculatorservice. This could be due to the service endpoint binding no…

Vue 兄弟组件之间传值 Bus方法

本文针对两个无关联的组件&#xff0c;A组件触发B组件的方法并传值 注意&#xff1a;A、B是兄弟组件&#xff0c;不是父子组件。 1、在vue项目中新建一个js文件&#xff08;文件名&#xff1a;bus.js&#xff09; // 仅针对两个无关联的兄弟组件使用 import Vue from vue expor…

mysql_load

将文本内容导入mysql数据库中导入语句加入字符集&#xff0c;否则乱码 character set gbk;因为name列加了唯一索列&#xff0c;加这个是为避免重复数据插入报错 ignore into table把相同的先删除掉 replace into table[linux] 这里关键load data infile /tmp/t0.txt ignore int…

统一社会信用代码 正则验证

统一社会信用代码C#正则验证 [1-9A-GY]{1}[1239]{1}[1-5]{1}[0-9]{5}[0-9A-Z]{10} 转载于:https://www.cnblogs.com/Qos8/p/5889573.html

微信支付开发(1) JS API支付

From: http://www.cnblogs.com/txw1958/p/wxpayv3-jsapi.html 关键字&#xff1a;微信支付 微信支付v3 jsapi支付 统一支付 Native支付 prepay_id 作者&#xff1a;方倍工作室 原文: http://www.cnblogs.com/txw1958/p/wxpayv3-jsapi.html 本文介绍微信支付下的jsapi实现流程…

Find命令使用详解

Find命令使用详解 Find是Linux中查找文件的命令&#xff0c;“find”命令能帮助我们在使用,管理Linux的日常事务中方便的查找出我们需要的文件。Find 命令的特点&#xff1a;实时、精确、支持众多查找标准、遍历指定目录中的所有文件完成查找&#xff0c;速度慢&#xff1b;Fin…

el-upload多文件上传;el-upload采用递归依次上传文件;el-upload采用递归在上一个文件上传成功后再传下一个文件

场景&#xff1a; 需求是接口一次上传一个文件&#xff0c;前一个文件上传成功后再调下一个接口上传下一个文件。 el-upload本身就支持多文件上传。但是它是并发进行&#xff0c;例如&#xff1a;选择一千个文件后&#xff0c;是一千个文件自动立马并行调用一千个后端接口去上传…

昨天事情还是比较多,让我晚上加了会班

今天早上睡的有点沉&#xff0c;然后昨天晚上也是睡的早10&#xff1a;00 转载于:https://www.cnblogs.com/bkchengzheng/p/5891271.html

.Net (C#)委托和事件(获取多个返回值)

From: http://www.xuebuyuan.com/841530.html 在讲如何获取多个返回值之前先来看一个小例子&#xff1a; private void button1_Click(object sender, EventArgs e) { int Number 200; //设置Number的值为 200。 Publishser pub new…

el-dialog点击弹框外区域不关闭弹框;

el-dialog正常点击弹框外区域是关闭弹框&#xff0c;如若不想关闭弹框&#xff0c;设置如下属性即可&#xff1a; :close-on-click-modal"false"

Xen的起源与工作原理

如今&#xff0c;虚拟化市场上满是各种不同的虚拟化解决方案。多年以来&#xff0c;VMware一直控制着基于i386的虚拟化市场。然而&#xff0c;现在的开源解决方案Xen也 在迅速地扩张自己的市场。在本文中&#xff0c;TechTarget中国的特约虚拟化专家Sander van Vugt将介绍什么是…

男女完全匹配算法

#include<iostream> #include<String> #include"Free_W_M_Stack.cpp" using namespace std; int Number1(string elem, string A[], int n){//返回某个人的匹配号for (int i 0; i < n; i){if (elem A[i])return i;}return -1; } int main(){int n;/…

监听el-dialog关闭弹窗事件;el-dialog注册@close关闭事件

场景&#xff1a;在关闭el-dialog弹框时候&#xff0c;做数据清空。只需要给el-dialog注册close关闭事件即可&#xff1a; <el-dialog title"标题" :visible.sync"bind" size"small" closecloseDialog> </el-dialog>//关闭弹框的事件…

手机游戏赚钱到底有多难?接入运营商或需一年

假如你是一个手机游戏创业者&#xff0c;假如你想赚钱&#xff0c;亲&#xff0c;请先与运营商搞好关系&#xff0c;或者&#xff0c;请找一个有SP经验或者熟悉手机游戏审批流程的合作伙伴&#xff0c;否则&#xff0c;等待你的将是甚至长达一年的审批期。 先来讲讲我为何要写这…