【问题标题】:ng-grid filter cell template columnng-grid 过滤单元格模板列
【发布时间】:2014-09-23 18:27:17
【问题描述】:

我创建了一个带有列定义和 showFilter 的网格。一列使用 cellTemplate 根据该字段的值来操作输出。

当我尝试过滤数据时,我注意到过滤器忽略了该列。

如何过滤网格中的所有列,包括引用 cellTemplate 的列?

这是我的网格:

$scope.gridStatusOptions = {
            data: 'status',
            showFilter: true,
            columnDefs: [{ field: 'name', displayName: 'Name', cellFilter: '', cellTemplate: '' },
                        { field: 'value', displayName: 'Value', cellFilter: '', cellTemplate: "<div class='ngCellText' ng-class='col.colIndex()'><span>{{formatState(row.entity)}}</span></div>"}]
};

问候

【问题讨论】:

  • 请向我们展示您的一些代码。尤其是 cellTemplate。而且,由于您是新来的,请在本页顶部的帮助下拉菜单中查看 TOUR,了解如何正确提问。
  • 我将网格添加到我的问题中。你知道解决办法吗?

标签: angularjs ng-grid


【解决方案1】:

ng-grid 中的过滤器处理基础数据,而不是渲染到浏览器的 DOM 的内容。

必须如此,因为如果您的数据来自服务器,则还必须在服务器端对其进行预过滤、分页和排序。

如果您没有正确格式的(要过滤的)字段,请对数据进行转换并添加预格式化的字段。

看看我几天前给的answer here

顺便说一句:如果您想正确格式化问题中的代码,只需选择它并点击CTRL-K。使其更具可读性。

【讨论】:

  • 我想你不明白我的问题。我想要过滤(搜索)我的数据,我不想要排序器或其他东西。我只想使用 showfilter 来查看特定的值。
  • 我想我不明白你的问题。也许您创建了一个 Plunker 或小提琴来显示问题所在。澄清您是使用服务器端数据还是客户端数据。我的链接答案都是关于在 ng-grid 中过滤。
  • 这里是 plunkler:plnkr.co/edit/jMvafIjqCsU0cnW6Ecvy?p=preview。我的问题是当我们使用 cellTemplate 网格属性时,过滤器无法正常工作。要模拟这种情况,您可以尝试通过 person2@gmail.com 进行搜索,您会发现问题。在这个 plunker 中,我使用 cellTemplate 将“@gmail.com”连接到人员的电子邮件,因此如果您输入 person2,则会应用过滤器,但在输入 @ 之后,您会看到该过滤器不起作用。有人能帮我吗?谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多