`

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

阅读更多

@author YHC

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


查看 Demo

步骤 1: 创建 DataGrid

<table id="dg" style="width:500px;height:250px" url="data/datagrid_data.json" title="DataGrid - Expand Row" singleselect="true" fitcolumns="true">  
    <thead>  
        <tr>  
            <th field="itemid" width="60">Item ID</th>  
            <th field="productid" width="80">Product ID</th>  
            <th field="listprice" align="right" width="70">List Price</th>  
            <th field="unitcost" align="right" width="70">Unit Cost</th>  
            <th field="status" width="50" align="center">Status</th>  
        </tr>  
    </thead>  
</table>  

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

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

<script type="text/javascript" src="http://www.jeasyui.com/easyui/datagrid-detailview.js"></script>  
$('#dg').datagrid({  
    view: detailview,  
    detailFormatter:function(index,row){  
        return '<div id="ddv-' + index + '" style="padding:5px 0"></div>';  
    },  
    onExpandRow: function(index,row){  
        $('#ddv-'+index).panel({  
            border:false,  
            cache:false,  
            href:'datagrid21_getdetail.php?itemid='+row.itemid,  
            onLoad:function(){  
                $('#dg').datagrid('fixDetailRowHeight',index);  
            }  
        });  
        $('#dg').datagrid('fixDetailRowHeight',index);  
    }  
});  
我们定义 detailFormatter函数告诉datagrid 如何渲染详细视图,在这种情况下,我们返回一个简单的 '<div>'元素,它将充当最为一个详细内容的容器,

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

步骤 3: 服务器端代码

datagrid21_getdetail.php

<?php  
$itemid = $_REQUEST['itemid'];  
  
$content = file_get_contents('data/datagrid_data.json');  
$data = json_decode($content,true);  
foreach($data['rows'] as $item){  
    if ($item['itemid'] == $itemid){  
        break;  
    }  
}  
  
?>  
  
<table class="dv-table" border="0" style="width:100%;">  
    <tr>  
        <td rowspan="3" style="width:60px">  
            <?php  
                echo "<img src=\"images/$itemid.gif\" style=\"height:50px\"/>";  
            ?>  
        </td>  
        <td class="dv-label">Item ID: </td>  
        <td><?php echo $item['itemid'];?></td>  
        <td class="dv-label">Product ID:</td>  
        <td><?php echo $item['productid'];?></td>  
    </tr>  
    <tr>  
        <td class="dv-label">List Price: </td>  
        <td><?php echo $item['listprice'];?></td>  
        <td class="dv-label">Unit Cost:</td>  
        <td><?php echo $item['unitcost'];?></td>  
    </tr>  
    <tr>  
        <td class="dv-label">Attribute: </td>  
        <td colspan="3"><?php echo $item['attr1'];?></td>  
    </tr>  
</table>  

下载 EasyUI 示例代码:










分享到:
评论
1 楼 IT_Dodo 2013-04-26  
按你写的Demo写了 可跑不起来哈,.,....
报(datagrid-detailview.js)源代码中的
var t = dc.view1.children('div.datagrid-header').find('table');
错误..我看下发现
var state = $.data(target, 'datagrid');
var opts = state.options;
var dc = state.dc;
那个dc根本没那属性 源代码为什么要那么去获取..........是不是必须在线获取datagrid-detailview.js那个文件.........

相关推荐

    EasyUI的DataGrid显示ASP.NET内容

    在本文中,我们将深入探讨如何在ASP.NET环境中使用EasyUI的DataGrid显示数据。 首先,确保你已经下载了最新的EasyUI版本。由于标题提到旧版本可能存在问题,因此及时更新至官方发布的最新版本至关重要,以获取更好...

    EasyUI tree 及 DataGrid

    EasyUI 是一个基于 jQuery 的前端框架,主要用于构建用户界面,特别是对于企业级应用而言,它提供了丰富的组件,如对话框、表单、菜单、树形控件(Tree)和数据网格(DataGrid)等。在本项目中,"EasyUI tree 及 ...

    EasyUI tutorial 中文版 chm

    easyUI 展开DataGrid里面的行显示详细信息 easyUI 在主datagrid上创建子datagrid Window easyUI 我的第一个window easyUI 自定义window工具 easyUI window和布局 easyUI 创建Dialog对话框 easyUI Dialog...

    C# MVC4 easyui datagrid expand row

    DataGrid是EasyUI的一个核心组件,用于显示表格数据,支持分页、排序、过滤等功能,并且可以通过行展开展示更多详细信息。 在“expand row”(展开行)场景中,通常我们会在DataGrid的一行中添加一个按钮或图标,当...

    jquery-easyui-datagridview datagrid-detailview.js升级自定义展开按钮功能

    jquery-easyui的扩展组件jquery-easyui-datagridview,其中的datagrid-detailview.js可方便地生成子网格,但是每行均默认生成展开按钮,实际我们希望对某些行不显示展开按钮,网上很多人提供的解决方案就是通过dom...

    EasyUIDataGrid(net)

    EasyUIDataGrid是一款基于.NET平台的数据网格控件,它提供了丰富的功能和易用性,使得在.NET应用中处理和展示数据变得更加便捷。EasyUI是基于jQuery的轻量级前端框架,而EasyUIDataGrid则是这个框架的一部分,专门...

    easyui datagrid 拖拽到 tree

    本文将详细讲解如何使用EasyUI实现从datagrid组件拖放到tree组件的功能,以及涉及的相关知识点。 首先,我们要了解EasyUI的datagrid组件。它是一个数据网格控件,用于展示大量结构化数据,支持分页、排序、过滤等...

    EasyUI的tree及datagrid真实使用范例

    它提供了节点的展开/折叠、节点选择、拖拽排序等功能,使得用户可以方便地浏览和操作树形结构的信息。在实际应用中,你可以通过 JSON 数据或者服务器异步加载来填充 Tree。 DataGrid 是一个表格控件,它用于显示和...

    easyui嵌套datagrid

    对于嵌套datagrid,主datagrid的数据源是一个json数组,包含了所有顶级记录的信息;而子datagrid的数据源则可能是另一个json数组,它存储了与父级记录相关的子级数据。 在实际应用中,实现easyui嵌套datagrid的步骤...

    EasyUI(datagrid)+Aajx(添,改,删,查)

    前端根据响应结果更新datagrid,可能显示新增行或者给出提示信息。 2. **修改(Edit)**:当用户编辑datagrid中的某行数据后,触发保存事件,同样使用Ajax发送PUT或PATCH请求,更新服务器上的对应记录。服务器确认...

    datagrid-groupview.js

    在给定的标题"datagrid-groupview.js"中,我们可以看出这是一个针对jQuery EasyUI Datagrid组件的扩展,用于实现表格数据的分组显示功能。现在,我们将深入探讨这个知识点。 首先,jQuery EasyUI的Datagrid组件是一...

    使用DataGrid完成一个行级数据折叠收缩展示的功能

    本文将详细介绍如何使用DataGrid实现行级数据的折叠和展开功能,以便在用户界面中以更直观的方式展示数据的层级关系。 首先,理解DataGrid的基本结构。DataGrid通常绑定到一个数据源,如ObservableCollection或...

    EasyUI 创建展开行明细编辑表单的 CRUD 应用

    CRUD 应用”中,我们将深入探讨如何利用 EasyUI 实现数据的创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作,并且在表格中展开行来显示和编辑明细信息。 1. **创建(Create)**: 在 EasyUI 中...

    easyui Basic DataGrid

    从第1行到第11行是文档头部的信息,包含了文档类型声明、字符集设置、标题以及CSS和JS文件的引入。其中,`easyui.css` 和 `icon.css` 分别定义了easyui的默认样式和图标样式,而 `demo.css` 可能包含了一些演示页面...

    easyui datagrid-datagridview.js自己修改版

    easyui的datagridview拓展。具体的使用方法看我的博文,网址https://mp.csdn.net/postedit/85068385

    easyui成型模板(datagrid+tree+另附数据库)

    EasyUI 是一个基于 jQuery 的 UI 组件库,它提供了丰富的前端界面组件,如表格(datagrid)、树形控件(tree)等,使得开发者能够快速构建美观且功能强大的 Web 应用程序。在这个“easyui成型模板”中,包含了 ...

    EasyUi实现的数据列表

    EasyUI datagrid内置了分页功能,可以轻松设置每页显示的记录数,并提供翻页操作。 3. **单选/多选/全选**:为了方便用户选择特定数据,datagrid提供了单选、多选和全选功能。通过复选框,用户可以选择一行或多行...

    EasyUI datagrid+tree右键+window弹出层

    在这个场景中,当用户在datagrid或tree上选择某个项并触发右键菜单操作时,可能会弹出一个window窗口,展示更详细的信息或执行更复杂的交互流程,如编辑记录、查看详情、设置参数等。 5. 综合应用: 将这三者结合...

    让easyui datagrid-detailview. +号图标 定义在其他列的后面

    `datagrid-detailview`是EasyUI中的一个功能,它允许在一个数据行内显示更详细的信息,通常这个加号图标会出现在第一列。 首先,我们需要了解`datagrid-detailview`的基本用法。在默认情况下,`datagrid`的详细视图...

    easyui datagridview扩展

    它提供了一种机制,当用户点击某一行时,可以在同一行下方展开一个详情区域,显示与该行相关的详细信息。 - 这个特性对于展示复杂数据或者需要更多上下文信息的情况非常有用,可以避免频繁跳转页面或者打开新的窗口...

Global site tag (gtag.js) - Google Analytics