问题标签 [ngtable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5848 浏览

angularjs - 如何清除 ng-table 过滤的数据?

我正在使用ngTable指令为我的表添加很棒的过滤。我的观点是:

我的控制器有:

这似乎非常适合过滤项目,因为 在此处输入图像描述

过滤到 在此处输入图像描述

但是,当我清除过滤器时,没有任何变化。我希望所有的行都重新出现,但他们没有。想法?

0 投票
8 回答
116529 浏览

html - 试图在 td 中居中对齐按钮

我在 td 中将按钮居中时遇到问题。

这可能是一个简单的 CSS 问题,但应用程序使用的是 bootstrap、AngularJS、AngularJS-ui-bootstrap 和 ngTable。我已经在我的plunkr中包含了所有这些组件。

我正在尝试使用按钮在 td 上设置“水平对齐:中间”,但这似乎没有得到应用。按钮仍然倾斜在单元格的左侧。

0 投票
3 回答
14413 浏览

angularjs - ng-table 分组 - 使用最小化的行进行初始化

我正在使用来自http://plnkr.co/edit/CBcbkc的 ng-table 分组示例

现在该表已通过扩展行进行初始化,但我希望将它们最小化,因为我有超过 100 条记录。我怎样才能做到这一点?

0 投票
8 回答
29336 浏览

javascript - 如何在没有分页装饰的情况下呈现 ngTable?

在我的小型 AngularJS 应用程序中,我使用 ngTable 库渲染了几个表。只有一个人可以使用分页。其他的将永远适合不到一页。每个渲染的 ngTable 似乎都在表格下方添加了“10 25 50 100”选择器。对于我的大多数桌子来说,这是浪费空间并且不起作用。如何删除该部分并取回该空间?

0 投票
1 回答
568 浏览

javascript - ngTable 不显示页面链接

我有一个使用 ngTable 的小型 AngularJS 应用程序。该应用程序有几个表格,但其中大多数不需要分页。我正在处理一张需要分页的表格。

当表格呈现时,我知道表格中有很多条目(超过 100 个)。首次渲染时,它显示前 10 个。它在右下角绘制页面大小选择器(“10 25 50 100”),但不在左下角绘制页面选择器。

我可以单击页面大小选择器中的按钮,它会重绘显示那么多条目,但它仍然不显示页面选择器。

我尝试检查默认的分页模板,我什至在我的页面上定义了一个自定义的模板,但只是粘贴在默认的模板中,所以我可以使用它。我在页面大小选择器 div 中添加了一些垃圾内容,并且在渲染时从未出现过,即使我可以在 firebug 的脚本块中看到这种变化。

有人知道这里发生了什么吗?

我已经设法构建了一个plunkr来证明这一点。

0 投票
3 回答
33910 浏览

angularjs - 使用 AngularJS ngTable 自定义过滤器

我正在尝试使用 ngTable 构建一个表,但自定义过滤与 ngTable page 中的示例中描述的不同。

我想要就地过滤,但我不希望 ngTable 呈现过滤器选择器。我想自己渲染它们(在表格上方),然后在我的“getData()”方法中引用它们。

前面提到的例子并没有解释这些机器是如何工作的。我不知道每个“td”元素的“filter”属性中需要指定什么。我了解 AngularJS $filter 函数的基本语法,但我不清楚 ngTable 对此做了什么。从一个示例中,看起来我只能进行“等于”检查,这只会选择关联列值等于过滤器值的行。这不是我所需要的。

我的表有几列。其中两个被称为“key”和“failed”,分别是字符串和布尔值。当我在表格上方呈现这些过滤器字段时,我需要一个“失败”过滤器的自定义标签。过滤“key”列应将过滤器值与“key”值的任何子字符串匹配。例如,如果我的键值为“abc”、“abac”和“def”,则过滤器值“a”将导致前两个条目显示,而不显示“def”条目。

更新:

与此相关,我希望我能弄清楚如何做这样的事情:

假设我的表格元素中有一个 ngRepeat 表达式,使用“标准”angularjs过滤器:

我们知道这不太有效,因为这些过滤器仅适用于从“getData()”方法获得的一个页面切片。我真正希望能够在我的“getData()”方法中做的是简单地访问整个过滤器链,包括参数表达式,并简单地将不同的数组传递给它,作为整个原始数据列表,而不仅仅是页面切片。

同时,我需要能够通过在正常处理中执行该过滤器链来“关闭” angularjs 自身正在执行的过滤。

这听起来很困难,但我发现当前的 API 需要在 html 和 javascript 之间进行大量耦合。如果 html 可以指定所需的过滤,那就太好了,并且 javascript 将只使用整个过滤器链,但在整个数据列表上使用它,而不仅仅是页面切片。

更新:

这是我的 HTML 的相关摘录:

这是我的 tableParams 代码:

请注意,我使用的这个 ngTable 没有使用“$data”列表,而只是遍历了我的“completedQueries”列表。当它这样工作时,当我单击“仅显示失败的查询”复选框或在“keysFilter”输入字段中输入文本时,列表将立即更改。

但是,既然我使用的是“$data”列表,那么当我更改其中任何一个字段时都不会发生任何事情。事实上,我什至为这两个字段都添加了 $watch-es,但它们都没有触发。但是,当我对这些字段中的任何一个进行更改时,我知道正在重新评估表数据,因为其中两列具有预期为毫秒值的数据,并且我对那些将值转换为的列有一个自定义过滤器一个“时间前”的英文表达,如“30 秒前”或“2 分钟前”,每次我更改其中一个输入字段时,我都会看到表中的这些表达式发生变化,但它仍然没有适当的过滤。

如果重要的话,这里是我添加到我的范围的 $watch-es。这些似乎永远不会触发:

请注意,当我对这些进行评论时,在我点击“getData()”方法后会看到以下错误:

这是相关的代码块:

更新:

这是我的plunkr,它证明更改外部过滤器字段不起作用。我也有两个 $watch-es 被注释掉以试图纠正这个问题。当我在其中发表评论时,我在 ng-table 中收到一个错误,抱怨为空范围。

更新:

我尝试将“newvalue,oldvalue”参数添加到我的 $watch-es(我更新了 plunkr)。现在对字段的更改导致表更新。不幸的是,我仍然在 ng-table 的第 411 行得到那个堆栈跟踪。

0 投票
4 回答
6768 浏览

angularjs - ngTable 过滤嵌套字段

我在 ng-table 中有一个发票列表,并且希望能够过滤嵌套属性。json看起来像这样;

我的观点看起来像这样

我想让过滤为client.fullname工作。如何过滤嵌套属性?

更新

我找到了一个解决方法,我只是将嵌套字段放入非嵌套 JSON 元素中,在上面的示例中,我创建了一个 JSON['client_name'] 元素并将其分配给 rails 模型中的 client.fullname。然后过滤器工作,因为它没有嵌套。

仍在寻找一种无需此工作即可解决的方法。

0 投票
0 回答
1386 浏览

json - 带有外部 JSON 数据的 ngTable / Angular,未显示按钮

我知道 stackoverflow 上已经有很多关于 ngTable/AngularJS 的信息,但是我尝试了所有方法,但它不起作用。

我的html是这样的:

我的 controller.js 文件是这样的:

index_query.php 返回从 MySQL 数据库查询的有效 JSON 对象(此处不显示)。

所以,我猜这段代码几乎没问题。它显示一个表,其中包含来自数据库的列和值。我可以使用过滤器框中的值进行过滤。但是,它只显示 5 行,并且没有按钮可以转到接下来的 5 行或增加页面上的行数。如 ngTable 页面 ( http://bazalt-cms.com/ng-table/example/1 ) 所述。

使用 firebug 检查控制台时,我看到“未捕获的类型错误:无法调用未定义的方法 'push' ”错误。我认为它是错误的填充数组,该数组应该构建按钮以从具有 5 条记录的 1 页转到另一页?我今天浪费了10个小时,所以请赐教,我将非常感激。

0 投票
4 回答
25594 浏览

angularjs - Ng-Table 表参数

我正在关注 ng-table 的第一个示例(http://bazalt-cms.com/ng-table/example/1)。

除了 tableParams 之外,一切似乎都有效。一旦我将它包含在控制器中,页面中就不会显示任何内容。

示例和我的代码之间的区别在于我从 json 服务加载数据:

Cars.query(); 运行良好(经过测试)。那么我错过了什么?以下行有一个 javascript 错误:“未定义不是正在发生的函数”:

0 投票
0 回答
258 浏览

angularjs - ngTable - 将所选项目绑定到 TextArea

我有一个 ngTable,我想将当前所选项目的值之一绑定到 ngTable 下方的文本区域。因此,当您编辑 textarea 时,ngTable 会使用该特定选定项目的值进行更新。

我正在粘贴一段我的代码。所有数据都来自服务调用......所以我很好。只需要知道如何将 textarea 与当前选定项目的 Notes 字段绑定即可。

http://bazalt-cms.com/ng-table/example/22

我有一个这样的ngtable:

假设我想要这个 ngTable 下方的 textarea,并且我想将它绑定到 ngTable 中的 Notes 列。如果我编辑文本区域,我希望更新 ngTable Notes 列(用于所选项目)。知道如何进行这项工作吗?