【问题标题】:ag-grid + angularJS header and cells editable by the userag-grid + angularJS 标题和用户可编辑的单元格
【发布时间】:2019-04-22 05:18:43
【问题描述】:

我刚开始使用ag-grid 库和angularJS 在我的应用程序中显示一些表格数据。现在的问题是,我希望用户能够更改每列的标题值,就像他/她可以在启用editable 属性时编辑列中的单元格一样。在寻找解决方案时,我意识到没有将标题变成可编辑元素的默认方法。所以我想知道哪些是我的选择。

我的一个想法是在每个标题中添加一个编辑按钮,当单击模式窗口时,会弹出标题的相应输入字段及其列的单元格值。在这种情况下,editable 属性不会被使用,因为单元格的编辑将在模态中进行。 that 之类的东西,但对于行,按钮应该在每个标题中。

那么,我可以通过哪些方式实现这样的目标?我阅读了有关 header template 的信息,但真的找不到任何直接的方法来处理它。

欢迎任何想法/提示或其他替代方案。

【问题讨论】:

  • 你想要达到什么目的?标头 - 只是您通过rowDatasetData 传递的数据对象中的字段名称。对于什么你需要修改一个标题?那它应该改变结构吗?
  • 我希望,用户能够改变结构。例如,假设每一行描述一个线性模型。第一列描述第一个参数,第二列描述第二个参数等。所以我希望用户能够设置该参数的名称以及每个模型的值。
  • 您是否想过如何更新ag-grid 内部的结构?我的意思是,好吧,这个案子现在很清楚,但你想把它合并到一个 component 中,实际上我认为这不是一个好主意。
  • 没有。我没想到,这就是我在这里问的原因。也许我从文档中遗漏了一些东西。将什么与组件相结合?你是什​​么意思?

标签: angularjs ag-grid


【解决方案1】:

创建一个具有数组作为网格数据集的服务,并为同一服务中的 CRUD 事件提供处理程序。将服务注入到您的模态控制器和网格视图中。之后,调用对象gridDataSetadd,remove,update who is in the service,一旦DataSet被修改,$digest就做剩下的工作了。

更新,回复评论

将您的服务注入您的控制器:

对于.ts

static $inject = ['$scope','YourService'];
constructor($scope, userService: YourService) {
    this.userService.getSomething();
}

对于.js

.controller('YourCtrl', ['$scope', 'YourService', function ($scope, YourService) {
    $scope.someVar = YourService.someVar;
}])

【讨论】:

  • 请问,我要如何将服务注入到网格视图中呢?可以举个例子吗?
猜你喜欢
  • 2020-06-14
  • 1970-01-01
  • 2019-01-10
  • 2016-01-17
  • 1970-01-01
  • 2017-06-17
  • 2021-03-14
  • 2020-02-19
  • 2019-08-24
相关资源
最近更新 更多