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

ui-grid angularjs中的条件单元格模板

桂丰
2023-03-14
问题内容

ui-grid下面的cellTemplate中显示数据时如何添加条件:

$scope.status = ['Active', 'Non Active', 'Deleted'];
$scope.gridOptions = {
    columnDefs: [{
        field: 'code'
    }, {
        field: 'name'
    }, {
        field: 'status',
        cellTemplate: '<div>{{status[row.entity.status]}}</div>'
    }]
};

预期结果应为行状态显示Active/NonActive/Deleted

这是the 子

提前致谢。


问题答案:

您必须使用externalScopes

在您的标记中,定义网格持有人,如下所示。

<div ui-grid="gridOptions" external-scopes="states" class="grid"></div>

并在您的控制器中使用以下代码:

var statusTxt = ['Active', 'Non Active', 'Deleted'];

$scope.states = {
  showMe: function(val) {
    return statusTxt[val];
  }
};

var statusTemplate = '<div>{{getExternalScopes().showMe(row.entity.status)}}</div>';
$scope.gridOptions = {
  columnDefs: [{
    field: 'code'
  }, {
    field: 'name'
  }, {
    field: 'status',
    cellTemplate: statusTemplate
  }]
};

或使用角度滤镜。

请注意,这仅 呈现 文本。最好的方法是myData在ui-grid中使用它之前先转换为具有真实文本状态。以防万一您以后要进行一些基于文本的过滤。

这是一个柱塞



 类似资料:
  • 我正在仪表板上工作,用于监控作业,状态被更新,但是Ui网格中的在这里没有按预期运行,我尝试了什么 并且该函数应该使用fontgreat图标更新状态 但安格拉尔并没有像我所期望的那样,而是把这当作一段文字 这里是一个笨蛋 http://plnkr.co/edit/7UapXgNzZWPXVZbLjYFy?p=preview 如果你能帮我解释清楚,我们将不胜感激

  • 我正在使用谷歌表单作为日常仪表板。我需要的是根据另一个单元格C5的值更改单元格B5的背景色。如果C5大于80%,则背景色为绿色,但如果低于,则为琥珀色/红色。 这是Google Sheets功能提供的还是我需要插入脚本?

  • 问题内容: 如何从ui网格单元模板进行访问?这是我的控制器代码: 在此处查看其运行情况:http : //plnkr.co/edit/WYXeQShHWKDYDs4MIZnP?p=preview 我希望单元格内容显示“ hello world”,但它们仅显示“ hello”。 问题答案: 根据http://ui-grid.info/docs/#/tutorial/305_appScope,网格具有

  • 当列名未知时,如何循环遍历整个数据框以删除包含特定字符串的单元格中的数据? 以下是我目前掌握的情况: 我的数据: 如果一个单元格包含一个字符串,例如“找到”,我如何删除它的全部内容?我想删除单元格中的所有内容(包括字符串之前和之后。)

  • 问题内容: 我想在bokeh中显示一个DataTable,根据单元格的文本内容,单元格是红色还是橙色。 例如,如果单元格包含单词“错误”,则该单元格将以红色背景显示。如果单元格包含“警告”一词,则为橙色。 我相信我应该使用,但是怎么用呢? 我该怎么做? 谢谢 问题答案: 浏览文档,您可以使用HTMLTemplateFormatter和下划线js格式化表格。有关更多信息,请参见http://docs

  • 我有一个excel,其中第1行中有从第1列到第15列的值。最后的每个单元格值都有一个数字。 我想创建另一行,该行根据结束编号合并单元格,并将相应的文本放入合并的单元格中。但是行值仍然需要保持顺序。 例如,,4等等。现在我想在第2行中为ABC3创建前3个单元格的合并,并放置。我需要在同一行2中创建5个合并的单元格来放置。之后,将4个单元格合并到同一行并放置等等。有什么想法如何实现这一点?