pb数据窗中中如何按行的条件设置行的颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pb数据窗中中如何按行的条件设置行的颜色相关的知识,希望对你有一定的参考价值。

参考技术A 在数据窗口的字段设置它的属性,属性的前景和背景色写代码来改变颜色。需要整行就把所有字段设成同样的属性。

如果数据动态变化,如何修复 HTML 中表格行的背景颜色(静态)?

【中文标题】如果数据动态变化,如何修复 HTML 中表格行的背景颜色(静态)?【英文标题】:How to fix background-color(static) of table rows in HTML if the data changes dynamically? 【发布时间】:2020-12-06 07:38:39 【问题描述】:

我有一个订单表,订单进出,我必须修复整行的背景颜色(我的意思是每三行背景颜色在一个循环中变化)。 例如:

#orders tr:nth-child(3n+3) 
    background: #e7eff6;


#orders tr:nth-child(3n+4) 
    background: #d0e1f9;

    
#orders tr:nth-child(3n+2) 
    background: #adcbe3;

但是有一个问题,因为如果一个订单进入或者一个订单被取消和退出,那么行背景颜色将会改变,但我必须修复它并保持最初的颜色。

所以,我需要分隔行,这不是背景颜色所必需的,但如果数据动态变化,则必须修复它。

有人有想法吗?

【问题讨论】:

在生成行时,为它们分配一个类,该类将映射到 CSS 中定义的特定颜色。 它对我不起作用。如果我删除一个订单并刷新,下面的订单会继承被删除行的bg-color。 然后只使用一个类,该类映射到每行的一个永远不会改变的属性,例如它的id。例如,如果您想要最多三种不同的颜色,请使用 id % 3 生成三个唯一的类名之一,这对于该行将始终保持一致。 我明白了,但是在 JS 中我怎么能做到这一点? 你不是在 JS 中做的,而是在 PHP 中做的。如果您显示用于生成行的代码,我可以向您展示如何修改它以使用行的 ID 来生成三个类名之一。 【参考方案1】:

您可以在 JS 中使用模数 % 在加载时为行设置背景颜色。 例如,如果你的表有 id=tableId,你可以运行类似的东西

let tableEl = document.getElementById("tableId");
let index = 0;
let colors = ["#e7eff6","#d0e1f9","#adcbe3"]
for (let trEl of tableEl.rows) 
    trEl.style.backgroundColor = colors[index % colors.length];
    index++;

【讨论】:

以上是关于pb数据窗中中如何按行的条件设置行的颜色的主要内容,如果未能解决你的问题,请参考以下文章

选择后更改整个数据网格行的背景颜色

如何根据jQuery数据表中的列值设置表行的颜色

在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色

满足条件时更改表格中整行的颜色?

如何根据 s-s-rS 中单独字段的值有条件地格式化整行的文本颜色?

WPF里,如何修改ListView的指定行的字体颜色和背景颜色?