Ag Grid细节网格(表格行展开)Vue Data Grid: Master / Detail

2023-10-27


Vue Data Grid: Master / Detail

Master / Detail 细节网格

Master Detail指的是一个叫做Master Grid的顶层网格,它的行可以展开。当行被展开时,另一个网格会显示与被展开行有关的更多细节。出现的网格被称为细节网格。

启用 Master / Detail

可以使用 masterDetail 网格选项启用细节表格,使用 detailCellRendererParams 配置细节行,如下所示:

<ag-grid-vue
    :masterDetail="masterDetail"
    :isRowMaster="isRowMaster"
    :columnDefs="columnDefs"
    :detailCellRendererParams="detailCellRendererParams"
    /* 其它的 grid options ... */>
</ag-grid-vue>

// 启用 细节网格
this.masterDetail = true;

// 指定该详细行是否展开
this.isRowMaster = dataItem => {
    return dataItem ? dataItem.callRecords.length > 0 : false;
};

// 第一列的配置要使用 cellRenderer: 'agGroupCellRenderer'
this.columnDefs = [
    { field: 'name', cellRenderer: 'agGroupCellRenderer' },
    { field: 'account' }
];

// 详细单元格参数配置
this.detailCellRendererParams = {
    // provide the Grid Options to use on the Detail Grid
    // 提供要在细节网格上使用的网格选项
    detailGridOptions: {
        columnDefs: [
            { field: 'callId' },
            { field: 'direction' },
            { field: 'number'}
        ]
    },
    // get the rows for each Detail Grid
    // 获得每个细节网格的行数
    getDetailRowData: params => {
        params.successCallback(params.data.callRecords);
    }
};

下面的示例显示了一个简单的细节网格,其中配置了上述所有内容。

  1. 设置网格属性 masterDetail=true。这告诉网格允许展开行来显示细节网格。
  2. 将一个主网格列上的 cellRenderer设置为 "agGroupCellRenderer"。这告诉网格,我们使用了分组的渲染器,那这一列就拥有了展开/折叠功能。
  3. 设置详细单元格渲染器参数 detailGridOptions。这包含了对细节网格的配置,比如要显示哪些列,以及你想在细节网格内启用哪些网格功能。
  4. 详细单元格渲染器参数 getDetailRowData提供一个回调。该回调被每个细节网格调用,并设置每个细节网格中要显示的行。

要了解更多关于 detailCellRendererParams的配置,请参见 Detail
Grids
部分。

Master Detail 网格示例

行模型 Row Models

当使用 Master/Detail时,Master Grid必须使用Client-SideServer-Side模型。它不支持使用 ViewportInfinite行模型。

另一方面,详细网格可以使用任何行模型。

API

Master Detail Properties(主细节属性)

Top level Master Detail properties available on the Grid Options:
网格选项中可用的顶层主细节属性:

  • masterDetail: boolean
    • 设置为 true以启用 Master Detail
    • 默认值 false
  • isRowMaster: IsRowMaster
    • 回调,与 Master Detail一起使用,以确定某行是否应该是主行。如果返回 false,该行将不存在详细的记录。
isRowMaster: IsRowMaster<TData>;

interface IsRowMaster<TData = any> {
    (dataItem: TData) : boolean
}
  • detailCellRenderer: any
    • 提供一个自定义的 detailCellRenderer,当主行被展开时使用。参见 Custom Detail
  • detailCellRendererParams: any
    • 指定详细单元格渲染器要使用的参数。也可以是一个提供参数的函数,以实现参数的动态定义。参见 Detail Grids
  • detailRowHeight: number
    • 为每个细节行设置固定高度(像素)。参见Fixed Height
  • detailRowAutoHeight: boolean
    • 设置为 true可以使细节网格动态地改变它的高度以适应它的行。参见 Auto Height
  • embedFullWidthRows: boolean
  • keepDetailRows: boolean
    • 设置为 true是为了在再次显示时保留细节行。
    • 默认值 false
  • keepDetailRowsCount: number
    • 设置要保留的细节行数。
    • 默认值 10

Detail Cell Renderer Params(详细单元格渲染器参数)

详细单元格渲染器的参数在 detailCellRendererParams对象上可用的有:

IDetailCellRendererParams<TData = any, TDetail = any>接口上的可用属性:

  • detailGridOptions: GridOptions<TDetail>
    • 提供用于细节网格的网格选项。
  • getDetailRowData: GetDetailRowData<TData, TDetail>
    • 一个提供在细节网格中显示哪些行的函数。
getDetailRowData: GetDetailRowData<TData, TDetail>;

interface GetDetailRowData<TData = any, TDetail = any> {
    (params: GetDetailRowDataParams<TData, TDetail>) : void
}

interface GetDetailRowDataParams<TData = any, TDetail = any> {
  // Row node for the details request. 
  node: RowNode<TData>;
  // Data for the current row. 
  data: TData;
  // Success callback: pass the rows back for the grid request. 
  successCallback(rowData: TDetail[]): void;
}
  • refreshStrategy: 'rows' | 'everything' | 'nothing'
    • 定义如何在主网格的数据变化时刷新详细网格。
  • template: string | TemplateFunc
    • 允许改变细节网格周围使用的模板。
template: string | TemplateFunc<TData>;

interface TemplateFunc<TData = any> {
    (params: ICellRendererParams<TData>) : string
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ag Grid细节网格(表格行展开)Vue Data Grid: Master / Detail 的相关文章

随机推荐

  • PyTorch构建简单的网络——波士顿房价数据集

    PyTorch构建简单的网络 波士顿房价数据集 一 数据集准备 1 数据加载 2 数据预处理 3 划分训练集 测试集 二 构建网络 三 定义损失函数和优化器 四 训练网络 五 测试网络效果 六 数据分析 1 确定一层隐藏层时 隐藏层单元个数
  • 用python画星空-【Python】手把手教你绘制星空旅游线路图

    0 前言 5月是美国的毕业季 我家领导也即将毕业了 我们将在美国进行为期两周的毕业旅行 其实类似这样的航线图我以前也用PPT绘制过 给领导用于发朋友圈 虽然总体能表达出意思 但是效果不能让自己满意 见下图 最近趁着研究python的数据可视
  • Python编程 介绍(入门)

    作者简介 一名在校计算机学生 每天分享Python的学习经验 和学习笔记 座右铭 低头赶路 敬事如仪 个人主页 网络豆的主页 目录 一 pytnon安装地址 二 python介绍 1 Python来源 2 Python LOGO 蟒蛇 3
  • Eclipse使用技巧

    1 Eclipse简介与安装 l 简介 Eclipse是著名的跨平台的自由集成开发环境 IDE Eclipse是IBM制作的一个免费开放源代码的软件开发项目 专注于为高度集成的工具开发提供一个全功能的 具有商业品质的工业平台 最初主要用来J
  • IBM的免费机器怎么装宝塔

    uname a uname a Linux MBR390 3 10 0 1160 59 1 el7 s390x 1 SMP Wed Feb 16 07 14 49 EST 2022 s390x s390x s390x GNU Linux D
  • 放大电路中的反馈-反馈的基本概念及判断方法

    反馈的基本概念 一 什么是反馈 反馈也称为回授 广泛应用于各个领域 例如在控制系统中 通过对执行机构偏移量 输出量 的监测来修正系统的输入量 反馈的目的是通过输出对输入的影响来改善系统的运行状况及控制效果 在电子电路中 将输出量 输出电压或
  • dlink虚拟服务器端口转发,D-Link路由器端口转发怎么设置【图文教程】

    端口转发功能给予了因特网用户访问用户的LAN的权限 这个功能对于用作在线服务的主机来说是很有用的 例如FTP 网页或游戏服务器 每个条目都可以在路由器上定义一个公共端口或者端口范围来转接到内部LAN IP地址和LAN端口 端口转发参数解释
  • vscode 如何运行pip_vscode执行pip指令出现code for hash md5 was not found报错

    问题描述 刚开始学习Python 为了图个方便就在vscode上安装Python插件直接写文件了 在执行pip install openpyxl的时候出现报错 code for hash md5 was not found报错 问题出现的平
  • ew三层代理使用方法

    1 获得目标网络内两台主机 A B 的权限 情况描述如下 A 主机 目标网络的边界主机 无公网 IP 无法访问特定资源 B 主机 目标网络内部主机 可访问特定资源 却无法回连公网 A 主机可直连 B 主机 2 一台可控公网IP主机 kali
  • python爬虫时爬虫爬数据时出现“访问本页面,请开启JavaScript并刷新该页”

    最近没事的时候就爱爬小说玩 也不看 就是觉得爬小说好嗨皮 以前都是在网上下TXT 现在发现 有可能也是这么来的 但执行的时候一直有个问题 之前也没怎么注意 因为没有打印页面的信息 所以一直没注意 今天打印了下 在打印的页面中发现了 访问本页
  • open(\"/dev/graphics/fb0\") failed!

    转自VC错误 http www vcerror com p 2160 问题描述 在用手机app通过framebuffer截屏的时候 手机已经root过了 但是执行代码 fb gt fd open dev graphics fb0 O RDO
  • webpack处理js兼容性问题之core-js

    过去我们使用 babel 对 js 代码进行了兼容性处理 其中使用 babel preset env 智能预设来处理兼容性问题 它能将ES6的一些语法进行编译转换 比如箭头函数 点点点运算符等 但是如果是async函数 promise 对象
  • python 一组数据 正态分布散点图_python高维数据型图表矩阵散点图

    矩阵散点图 矩阵散点图 matrix scatter plot 是散点图的高维扩展 是一种常用的高维度数可视化技术 将高维度数据的每个变量组成一个散点图 再将它们按照一定的顺序组成矩阵散点图 能够将高维度数据中所有变量的两两之间的关系展示出
  • mysql5.7 sql_mode=only_full_group_by研读

    在安装了MySQL5 7后 笔者发现 以前系统的一些sql语句报错了 报的错如下 bad SQL grammar nested exception is com mysql jdbc exceptions jdbc4 MySQLSyntax
  • vue原生js编写网页引导功能

    原生js编写网页引导功能 通过Cookiec来判断是否首次登陆
  • mac 安装SourceInsight

    先安装模拟xp环境软件 CrossOver 具体请看http blog csdn net xiaohuangcat article details 41832295 SourceInsight 3 5 注册码 SI3US 567890 89
  • db.org/dl/cxx-driver下载

    db org dl cxx driver 园 首页 新随笔 联系 订阅 随笔 20 文章 0 评论 10 Mongodb Compile C Driver 之前发现直接编译mongo源码中的驱动 静态库的驱动会很大 在链接使用的时候会报很多
  • 项目中的全局缓存导致了内存泄露?

    项目中的全局缓存导致了内存泄露 对于项目中的数据 为了提升访问速度 或是为了多个业务子模块代码间的解耦 往往通过中间的缓存对象来统一管理 但是随着请求量的增加 简单的 HashMap 缓存功能 却导致了项目中的内存泄露 线上环境请求量一旦过
  • python最小值函数_Python3 min() 函数详解 获取多个参数或列表中的最小值

    Python3 min 函数详解 获取多个参数或列表中的最小值 min 函数的主要作用是获取对象中最小的值 参数可以是任何可迭代对象 字符串 列表 元组 字典等 可以是一个参数内的值进行对比 也可以是多个参数之间进行对比 还可以通过自定义函
  • Ag Grid细节网格(表格行展开)Vue Data Grid: Master / Detail

    目录 Master Detail 细节网格 启用 Master Detail 行模型 Row Models API Master Detail Properties 主细节属性 Detail Cell Renderer Params 详细单