当前位置: 首页 > 面试题库 >

如何在ng-grid中设置分组分组

皇甫学海
2023-03-14
问题内容

我想查看网格中每个组的总计(或者通常是任何聚合函数)。

请求并按问题完成此操作:https :
//github.com/angular-ui/ng-grid/issues/95(但不幸的是,没有任何示例)。

我能够通过config选项重新定义默认模板https://github.com/angular-ui/ng-
grid/blob/master/src/templates/aggregateTemplate.html
aggregateTemplate。但是我不知道如何适当地扩展它。

这个模板正在ng-
grid范围内评估,我不知道如何触发我的自定义聚合函数。我想创建与’‘’totalChildren’‘’类似的功能(来自https://github.com/angular-
ui/ng-grid/blob/master/src/classes/aggregate.js)

有任何想法吗?


问题答案:

我找到了答案:https :
//github.com/angular-ui/ng-grid/issues/290

为了完整起见,这里是我的聚集函数的示例:

function WorkLoadCtrl($scope, Issue, $routeParams, HttpCache) {
  $scope.issues = Issue.jql_search({jql: $routeParams.jql});

  $scope.aggFC = function (row) {
    var res = 0;

    var calculateChildren = function(cur) {
      var res = 0;
      var remaining;
      angular.forEach(cur.children, function(a) {
        remaining = a.getProperty('fields.timetracking.remainingEstimateSeconds');
        if (remaining) { res += remaining; }
      });
      return res;
    };

    var calculateAggChildren = function(cur) {
      var res = 0;
      res += calculateChildren(cur);
      angular.forEach(cur.aggChildren, function(a) {
        res += calculateAggChildren(a);
      });
      return res;
    };

    return (calculateAggChildren(row) / 3600).toFixed(2);
  }

  $scope.mySelections = [];
  $scope.gridOptions = {
    data: 'issues.issues',
    columnDefs: [
      {field:'key', displayName:'key'},
      {field:'fields.assignee.name', displayName:'Assignee'},
      {field:'fields.status.name', displayName:'Status'},
      {field:'fields.summary', displayName:'Summary'},
      {field:'fields.timetracking.remainingEstimate', displayName:'Remaining'},
    ],
    showFooter: true,
    showGroupPanel: true,
    enablePinning: true,
    enableColumnResize: true,
    enableColumnReordering: true,
    showColumnMenu: true,
    showFilter: true,
    //jqueryUIDraggable: true, bug: when used grouping stop work, but column reordering start to work:(
    selectedItems: $scope.mySelections,
    multiSelect: false,
    aggregateTemplate: '<div ng-click="row.toggleExpand()" ng-style="rowStyle(row)" class="ngAggregate"> <span class="ngAggregateText">{{row.label CUSTOM_FILTERS}} (count: {{row.totalChildren()}} {{AggItemsLabel}} Remaining: {{aggFC(row)}})</span> <div class="{{row.aggClass()}}"></div> </div>'
  };
}


 类似资料:
  • 6.5.1.SetGroupBy (设置分组的属性) 原型:function SetGroupBy ( $attribute, $func, $groupsort="@group desc" ) 设置进行分组的属性、函数和组间排序模式,并启用分组(参考Section4.6, “结果分组(聚类)”中的描述)。 $attribute是字符串,为进行分组的属性名。$func为 常数,它指定内建函数,该函

  • 问题内容: 我可以在angularjs中使用默认值设置一个下拉列表, 如何使用来达到相同的效果?我胆战心惊, 但是没用。样品小提琴在这里 问题答案: 使用 为设定的默认值。 这是: 演示

  • 问题内容: 我想知道是否有一种方法可以对Caffe中的不同层使用不同的学习率。我正在尝试修改预训练的模型,并将其用于其他任务。我想要的是加快对新添加的层的培训,并使受过培训的层保持较低的学习率,以防止它们变形。例如,我有一个5转换层的预训练模型。现在,我添加一个新的转换层并对其进行微调。前5层的学习率为0.00001,后5层的学习率为0.001。任何想法如何实现这一目标? 问题答案: 使用2个优化

  • 问题内容: 我正在使用ElasticSearch 1.5.2,希望具有以下设置: 我应该在哪里添加它们?我的意思是在创建索引之前还是之后? 通过在线搜索,我发现了一些类似的方法 但是我有2个问题, 我收到编译错误:ImmutableSettings.builder类型的方法loadFromSource不适用于参数XContentBuilder 另外,我不知道如何将我的设置转换为这种格式。在哪里可以

  • 问题内容: Oracle的表服务器提供了一个内置功能。此功能将任何时间戳转换为前一个星期日的午夜。在MySQL中执行此操作的最佳方法是什么? Oracle还提供将时间戳转换为发生该月的第一天的午夜。在MySQL中,这很简单: 但是这个技巧将在数周内失效。我知道此功能,但是我真的不想要一年内的星期数。这些东西是用于多年的工作。 问题答案: 想通了…有点麻烦,但这就是。 而且,如果您的业务规则说您的工

  • 问题内容: 我想为文本区域中的特定行设置颜色。到目前为止,我发现的是以下内容 但这是行不通的。我究竟做错了什么? 编辑:好的,我一直在尝试,我尝试使用 添加文本,而不是添加文本,然后重新样式,但无济于事。 问题答案: 我不确定JTextArea是否可以设置太多详细的样式,因为它可能是根据所选字体,颜色等为整个文档设置样式的。使用JTextPane / JEditorPane可能会有更多的运气。 编