Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在角度ui网格中为特定值上的行着色?_Javascript_Html_Css_Angularjs_Angular Ui Grid - Fatal编程技术网

Javascript 如何在角度ui网格中为特定值上的行着色?

Javascript 如何在角度ui网格中为特定值上的行着色?,javascript,html,css,angularjs,angular-ui-grid,Javascript,Html,Css,Angularjs,Angular Ui Grid,在新的angular ui grid 3.0 rc12中,我试图根据行的值为其着色,但我一直无法做到。以下代码用于在早期版本(ngGrid)中工作: 这里的问题是表达式: row.getProperty('count') === 1 不再像在ngGrid中那样工作了。任何关于如何在angular ui grid()中实现相同目标的猜测 非常感谢 新ui网格对cellClass有一个特殊属性: $scope.gridOptions = { enableSorting: true,

在新的angular ui grid 3.0 rc12中,我试图根据行的值为其着色,但我一直无法做到。以下代码用于在早期版本(ngGrid)中工作:

这里的问题是表达式:

row.getProperty('count') === 1
不再像在ngGrid中那样工作了。任何关于如何在angular ui grid()中实现相同目标的猜测


非常感谢

新ui网格对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';
        }
      }
    ]
  };
看看他的

请注意,我在红色中为类绿色制作了颜色,因为这样可以更好地看到并激起最大的混乱:-)

更新:

下面是行着色的解决方案

按如下方式编写您的行模板:

  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>';
var rowtpl='';
这是你的电话号码

请注意,背景颜色被单元格背景覆盖。自己想办法解决这个问题:-)

很抱歉,你的问题最初被误读了。我在回答中留下了cellClass部分,以防有人需要

请注意,背景颜色被单元格背景覆盖。自己想办法解决这个问题:-)

根据前面的回答,如果要在行级别覆盖背景色,可以使用以下选项:

.ui-grid-row .ui-grid-cell {
   background-color: inherit !important;
}

请尝试此
查看此处的代码
.

我已经介绍了许多基于场景的单元格颜色,如

  • 单元格中的负值将显示为红色
  • 脏电池将是黄色的
  • 可编辑单元格将为白色
  • 不可编辑的单元格将为灰色
  • 总值单元格将暗显

  • 试试看。也许你可以从那里获得一些知识/想法。

    @Naushad KM,如果有人在$http调用后必须进行实时单元验证

    这就是它所做的:

  • 在可编辑行中输入一个值
  • 在焦点松动(模糊)时,进行$http调用
  • 使用返回的数据验证输入值
  • 有效值将为绿色,无效值将为红色

  • 示例

    您只需使用特定的css类即可

    .invalidated {
    background-color: #f2dede !important;
    }
    
    并在行模板div上添加带有“invalidated”字段的ng类或调用函数(示例在plnkr中):


    嗯,我刚刚注意到你要的是整排。暂时不要理会我愚蠢的回答。我会看看我能找到什么,并会给你一个更新。非常感谢!它工作得很好。你真的帮我省去了很多麻烦:)@maingay,在上面的例子中返回“blue”之前,如何检查当前单元格以及同一行中另一个单元格的值?在返回“蓝色”之前,我需要检查同一行中的“grid.getCellValue(row,col)==1”和“sv_name”是否都等于“test”。@SamDevx:Use:if(grid.getCellValue(row,col)==1和&row.entity.sv_name==“test”)。使用row.entity,您可以访问row对象的每个成员。这是plunker:@SamDevx:这也是行着色的模板:var rowtpl='';这里是plunker:感谢Gabriel的CSS修复!如果在$http调用后收到“MY_CONSTANTS”中的值,即用于比较以更改单元格颜色的值,该怎么办?也就是说,您在字段中键入一些值,然后在编辑之后,它触发$http调用,然后使用$http返回的数据创建“MY_常量”,然后将同一单元格中的值与“MY_常量”中的值进行比较,并根据验证更改颜色。编辑后,您可能需要将行实体信息存储在闭包中。一旦$http请求返回值,该闭包就可以访问上次编辑的行实体信息。然后,您可能只需要发布事件,以使用“gridApi.core.notifyDataChange”API通知对框架的更改。注意:$http调用应该位于存储实体信息的同一个闭包中。实际上,我可以使用cellTemplate函数甚至使用rowTemplate来实现,而无需执行任何“gridApi.core.notifyDataChange”API调用。太棒了!。如果您能够创建一个plunker并进行共享,这将非常有帮助。谢谢。修改行或单元格模板不应该是解决此类问题的第一个方法,因为当您更新到更高的角度版本时,它可能会破坏一切。添加
    !重要提示
    为我做了这个把戏,否则将不会覆盖
    。。
    .ui-grid-row .ui-grid-cell {
       background-color: inherit !important;
    }
    
    .invalidated {
    background-color: #f2dede !important;
    }
    
    <div ng-class="{invalidated: row.entity.invalidated}"