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

如何在angular-ui-grid中为特定值上的行着色?

法弘亮
2023-03-14
问题内容

我正在尝试根据新的angular-ui-grid 3.0 rc12中的值为行上色,但我一直无法。以下代码用于以前的版本(ngGrid):

$scope.gridOptions =
    data: 'data.sites'
    tabIndex: -1
    enableSorting: true
    noTabInterference: true
    enableColumnResizing: true
    enableCellSelection: true
    columnDefs: [
      {field: 'sv_name', displayName: 'Nombre'}
      {field: 'sv_code', displayName: 'Placa'}
      {field: 'count', displayName: 'Cuenta'}
    ]
    rowTemplate: """<div ng-class="{green: true, blue: row.getProperty('count') === 1}"
                         ng-repeat="col in colContainer.renderedColumns track by col.colDef.name"
                         class="ui-grid-cell"
                         ui-grid-cell></div>"""

和相应的CSS:

.grid {
  width: 100%;
  height: 250px;
}

.green {
  background-color: #2dff07;
  color: #006400;
}

.blue {
  background-color: #1fe0f0;
  color: #153ff0;
}

这里的问题是表达式:

row.getProperty('count') === 1

不再像在ngGrid中一样工作。关于如何在angular-ui-grid(ui-grid.info)中实现相同的任何猜测

非常感谢!


问题答案:

新的ui-grid具有cellClass的特殊属性:

  $scope.gridOptions = {
    enableSorting: true,
    data:'myData',
    columnDefs: [
      { field: 'sv_name', displayName: 'Nombre'},
      {field: 'sv_code', displayName: 'Placa'},
      { field: 'count', displayName: 'Cuenta',
        cellClass: function(grid, row, col, rowRenderIndex, colRenderIndex) {
          if (grid.getCellValue(row,col) == 1) {
            return 'blue';
          }
          return 'green';
        }
      }
    ]
  };

看看他的柱塞

请注意,我为类的颜色 绿 ,因为它是更好地看到和搅拌最大的困惑:-)

更新:

这是行着色的解决方案

像这样编写rowTemplate:

  var rowtpl='<div ng-class="{\'green\':true, \'blue\':row.entity.count==1 }"><div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ng-class="{ \'ui-grid-row-header-cell\': col.isRowHeader }" ui-grid-cell></div></div>';

这是分叉的柱塞

请注意,背景颜色被单元格背景覆盖。自己找到解决方法:-)

抱歉,您的问题最初有误读。我将cellClass部分留在此答案中,以防有人需要。



 类似资料:
  • 问题内容: 我正在使用角度ui-grid 3.0版,无法找到获取行的索引,向网格添加分子列的方法。我想帮我。 问题答案: 无法轻松获取行的索引,因此这取决于您要执行的操作。当有人对数据进行排序时,您期望编号会做什么- 您希望数字保持原始数据中的数字,还是希望它们更改并对齐新的排序顺序? 在常见问题解答http://ui-grid.info/docs/#/tutorial/499_FAQ中,我们发现

  • 问题内容: 我们想使用Angular UI ng-grid,但似乎找不到一个选项来告诉网格内的视口不要将溢出设置为auto而不滚动。 我们想要做的是根据网格中行数的大小来动态调整表/网格的高度。我们有固定的最大行数,因此不必担心DOM中有太多行。 有什么建议去哪里? 问题答案: 我最近遇到了同样的问题,并在https://groups.google.com/forum/#!topic/angula

  • 问题内容: 我想知道如何在加载数据之前显示一个简单的加载器。我正在使用ng-grid-1.3.2,正在使用Google搜索,但是没有找到任何示例。再见 问题答案: 像Maxim Shoustin建议的那样,您可以使用JimLavin的angularjs-spinner,后者使用( 已弃用的)响应拦截器。 我认为这是最好的解释:http : //codingsmackdown.tv/blog/201

  • 问题内容: 我正在使用ui-grid。我有很多行,所以才使用滚动。一切正常,直到我尝试更改行的高度。然后滚动变得一团糟。我在这里添加了一个示例http://plnkr.co/edit/S6ylwOVgcQp7CSsZZxpR?p=preview 这是ui-grid网站上的教程之一-我唯一更改的是CSS。我添加了这些规则。 如果删除了上述CSS规则,滚动就可以正常工作。因此,我要么需要添加更多CSS

  • 问题内容: 我有这个DataFrame,只想要EPS列不是的记录NaN: …例如df.drop(....)要得到这个结果的数据框: 我怎么做? 问题答案: 不要。就拿行,其中是有限的:

  • 问题内容: 有了Pandas中不错的索引方法,我就可以用各种方式提取数据了。另一方面,我仍然对如何更改现有DataFrame中的数据感到困惑。 在下面的代码中,我有两个DataFrames,我的目标是从第二个df的值更新第一个df中特定行的值。我该如何实现? 给 但是我怎么能做到这一点: 问题答案: 因此,首先, 大熊猫使用index更新 。当更新命令不更新任何内容时,请同时检查左侧和右侧。如果由