ExtJS 6 按关联模型进行网格组

2024-01-07

Context

不久前我用过这个answer https://stackoverflow.com/a/19198773/1842261实现远程排序和过滤。使用“关联模型.关联模型字段”格式,我可以轻松解析服务器端代码中的表达式以查询数据库。

Problem

虽然这完成了工作,但我遇到了另一个问题grouping- 我已将其配置为本地 -相关型号。如果我对显示关联字段的列进行分组,则无法在没有错误的情况下折叠或展开。对网格的根模型执行相同的操作不会引发任何错误。

该问题可以在此重现fiddle https://fiddle.sencha.com/#fiddle/1f5q.

控制台日志中的错误跟踪如下所示:



ext-all-debug.js:198133 Uncaught TypeError: Cannot read property 'isModel' of undefined

getMetaGroup            @   ext-all-debug.js:198133
doCollapseExpand        @   ext-all-debug.js:198284
collapse                @   ext-all-debug.js:198207
onGroupClick            @   ext-all-debug.js:198380
fire                    @   ext-all-debug.js:20223
doFireEvent             @   ext-all-debug.js:21130
doFireEvent             @   ext-all-debug.js:64732
prototype.doFireEvent   @   ext-all-debug.js:54757
fireEventArgs           @   ext-all-debug.js:20983
fireEvent               @   ext-all-debug.js:20942
processSpecialEvent     @   ext-all-debug.js:188549
processItemEvent        @   ext-all-debug.js:188499
processUIEvent          @   ext-all-debug.js:168108
handleEvent             @   ext-all-debug.js:168061
fire                    @   ext-all-debug.js:20223
fire                    @   ext-all-debug.js:32463
publish                 @   ext-all-debug.js:32439
doDelegatedEvent        @   ext-all-debug.js:32489
onDelegatedEvent        @   ext-all-debug.js:32476
(anonymous function)    @   ext-all-debug.js:6662
  

在代码中我使用了上面提供的解决方案,并且还申请了分组功能。它不是完全干净的代码,但只要我尊重修复的限制,它就可以工作。

我应该如何解决这个问题?根据问题的类型,我认为这意味着重写整个分组机制,但我不喜欢那样!


我偶然找到了我的问题的答案。上官方文档网站 http://docs.sencha.com/extjs/6.2.0/classic/Ext.grid.feature.Grouping.html,这一行告诉你要做什么:

但是,如果您打算按复杂数据的数据字段进行分组 类型如Object或Array,需要定义一个或多个 Ext.util.Grouper 上可用于查找的功能 按不同字段分组时的内部组信息。

因此,您需要在分组功能的“groupers”配置中定义一个数组:

 features: [{
            ftype: 'grouping',
            remoteRoot: 'Summary',
            groupHeaderTpl: '{name}',
            collapsible: true,
            groupers:  [{
                          property: 'Customer.Address',
                          groupFn: function (val) {
                             return val.data.Job ? val.data.Customer.Address: '';
                        }
               }]
            }]

如果您在此列上进行分组,则将使用 groupFn 进行实际分组。

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

ExtJS 6 按关联模型进行网格组 的相关文章

随机推荐

  • 在不更改数据源的情况下过滤DataGridView

    我正在 C Visual Studio 2010 中开发用户控件 一种用于过滤 datagridview 的 快速查找 文本框 它应该适用于 3 种类型的 datagridview 数据源 DataTable DataBinding 和 D
  • 先决条件 Setup.exe Clickonce VS 2008 的错误 URL

    我有这个麻烦 我正在使用 VS 2008 Team Suite 并且有 WinForms csproj 我想使用 ClickOnce 发布它 在 csproj 的发布属性中 我有以下值 发布文件夹位置 网站 ftp 服务器或文件路径 C C
  • Windows Mobile 应用程序的 UI 组件 (.NET Compact Framework)

    在移动设备上运行的应用程序有特殊的用户界面要求 我认为 Apple 在 iPhone iPod touch 平台上引入创新控件方面做得非常出色 现在 我必须使用 NET Compact Framework Visual Studio 200
  • 当选项卡处于非活动状态时,Chrome 扩展程序代码不再运行?

    我创建了一个非常简单的供个人使用的 Chrome 扩展程序 如果打开了特定网站的选项卡中的 DOM 元素发生更改 该扩展程序会向我发送浏览器通知 并将该选项卡切换为活动选项卡 如果选项卡未处于活动状态且未打开 预期 想要的行为 它会起作用
  • Greasemonkey脚本替代jQuery插件功能?

    我正在尝试为 Firefox 编写一个 Greasemonkey 脚本 以更改某些页面在检测到窗口失焦时的行为 我希望页面能够继续运行 就像它仍然处于焦点一样 即使我有另一个选项卡或窗口处于活动状态 我开始看CAPS 安全策略 https
  • 通过本地化对字符串列表进行排序

    我想根据用户区域设置对下面的字符串列表进行排序 List
  • 在 Bigquery 中参数化数据类型的目的是什么?

    在 BigQuery 中 您可以参数化某些数据类型 参考 https cloud google com bigquery docs reference standard sql data types parameterized data t
  • 在 WebKit.NET 上获取 HTTP 标头

    我一直在尝试弄清楚如何处理 401 响应WebKit NET并显示一个身份验证框 以便用户可以输入他的凭据 然后将其发送回服务器 This guy https github com therealmitchconnors webkitdot
  • SVG 中的路径放置在 D3 图表中圆圈的前面,无论附加顺序如何

    我的数据线应该放在behind但顽固地拒绝这样做 首先 我认为这与附加的顺序有关 但显然 事实并非如此 我了解到others https stackoverflow com questions 29282120 how can i get
  • 在 IIS 7 中运行 MVC3 应用程序时出现问题

    我在运行 Windows 7 Home 64 位的计算机上在 IIS7 中运行 MVC 3 项目时遇到问题 这就是我所做的 安装了 IIS 7 访问服务器并得到IIS欢迎页面 创建一个名为 d MySite 的目录并将 MVC 应用程序复制
  • 使用 Rails 4 Activerecord 将多个列计数合并到单个查询中

    Rails 4 1 Postgres 9 3 部署到 Heroku 我正在尝试减少对数据库的调用次数 我有一个大表 调查 有多个布尔列 例如role composer role performer 等等 控制器有多个查询 例如 sample
  • 如何在React JS中保留浏览器后退按钮上应用的过滤器

    在我的应用程序中 所有列表页面上都有过滤器 现在根据要求 我想在浏览器后退按钮上保留应用的过滤器 例如 假设用户已在销售列表页面上应用了过滤器 之后 他点击一条记录进入销售编辑页面 现在 如果用户点击浏览器后退按钮 那么那些应用的过滤器应该
  • 如何使用多字符分隔符分割字符串并维护分隔符

    使用 VB NET 我有一个字符串 RES00012 Some value RES00034 Another value 我想用 RES 作为分隔符 RES00012 Some value and RES00034 Another valu
  • Visual Studio 不要打开新的浏览器实例

    当我尝试在 Windows 10 上的 Visual Studio 2017RC 中运行 Web 应用程序时 它会打开一个新的浏览器实例 在我的例子中是 chrome 我也尝试过使用 Internet Explorer 情况相同 并且浏览器
  • xmpp 中的带内注册是什么?

    很抱歉不得不问 但我不知道这个术语的含义 也找不到简单的定义 我想知道我是否需要启用此功能 以便用户使用我正在编写的 iphone 客户端在我的 openfire 服务器上注册一个全新的帐户 Thanks 带内注册意味着在您的服务器上没有帐
  • DEVELOPER_TOKEN_NOT_APPROVED AdWords

    美好的一天 伙计们 我正在开发一个项目 需要设置 Google Adwords 帐户才能使用 API 我正在使用 Python 客户端库 当我运行测试应用程序时 出现 DEVELOPER TOKEN NOT APPROVED 错误 经过对这
  • 如何在 androidTest 上正确模拟 ViewModel

    我目前正在为片段编写一些 UI 单元测试 其中之一 Test就是看一个对象列表是否正确显示 这是不是整合测试 因此我希望mock the ViewModel 片段的变量 class FavoritesFragment Fragment pr
  • 如何检测假用户(爬虫)和cURL

    其他一些网站使用 cURL 和虚假 http 引用来复制我的网站内容 我们有什么方法可以检测 cURL 或不是真正的网络浏览器吗 没有什么神奇的解决方案可以避免自动抓取 人类能做的一切 机器人也能做 只有一些解决方案会让这项工作变得更加困难
  • JIRA:查找与用户相关的所有问题

    在 JIRA 中 如何查找所有项目中与用户相关的所有问题 简单的查询搜索仅产生全文结果 即 仅涉及名称被提及的问题 而不是名称已被分配 已报告 已抄送等的问题 我在这里的目的是寻找与我相关的股票会计票据 我使用的是 JIRA 3 13 as
  • ExtJS 6 按关联模型进行网格组

    Context 不久前我用过这个answer https stackoverflow com a 19198773 1842261实现远程排序和过滤 使用 关联模型 关联模型字段 格式 我可以轻松解析服务器端代码中的表达式以查询数据库 Pr