有条件地更改颜色Apex / Visualforce

贝格

我试图根据载体对象上的“ Team__c”字段中的ID是否与用户列表中的任何ID匹配,来更改列表中值的颜色。我的控制器一次返回了该颜色,并且该颜色适用于所有记录(请参见调试日志)。列表中的所有值均为蓝色,有些应为红色。先感谢您。

Visualforce代码:::

<apex:pageblocktable value="{!carriers}" var="c">
    <apex:column headervalue="Carrier">
        <font color="{!color2}">
            <apex:outputtext value="{!c.name}"/>
        </font>
    </apex:column>

控制器:::

public string getcolor2() {
    list<carrier__c> carriers = [select team__c from carrier__c where team__c != NULL];

    list<user> users= new list<user>();
        users = [select id from user where userrole.name = 'Executive'];
            set<string> uid = new set<string>();
            for(user us: users){
                uid.add(us.id);
            } 

    string color = 'red'; 

    for(carrier__c car: carriers){
        system.debug('*****List of carriers: ' + carriers);
        system.debug('*****List of users: ' + uid);
        system.debug('*****Current carrier= '+car);
        if(uid.contains(car.team__c) ){
            color='blue';
            system.debug('***** Set color to:'+color);   
            }
    }
    system.debug('***** Returning color: ' + color);
    return color;
}

调试日志

 *****List of carriers: (Carrier__c:{Team__c=005U0000001D3E5IAK,      Id=a0HJ0000003bl8nMAA}, Carrier__c:{Team__c=005J0000001EEIHIA4, Id=a0HJ0000003bitnMAA}, Carrier__c:{Team__c=005U0000001BHRKIA4, Id=a0HJ0000003eD64MAE})

 *****List of users: {005U0000001D3E5IAK}
 *****Current carrier= Carrier__c:{Team__c=005U0000001D3E5IAK, Id=a0HJ0000003bl8nMAA}
 ***** Set color to:blue

*****List of users: {005U0000001D3E5IAK}
*****Current carrier= Carrier__c:{Team__c=005J0000001EEIHIA4, Id=a0HJ0000003bitnMAA}

*****List of users: {005U0000001D3E5IAK}
*****Current carrier= Carrier__c:{Team__c=005U0000001BHRKIA4, Id=a0HJ0000003eD64MAE}

***** Returning color: blue
亲情

您的控制器中只有一种颜色变量,因此您不能期望在VisualForce页面中获得多种颜色。您将要创建一个同时存储carrier__c对象和颜色的类,然后创建一个列表以存储每个对象的实例carrier__c

public class colorAndObject {
    public string color{get; set;}
    public carrier__c carrier{get;set;}

    public colorAndObject(string carColor, carrier__c carrierName) {
        color = carColor;
        carrier = carrierName;
    }
}

list<colorAndObject> carriersWithColors = new list<colorAndObject>();

在VisualForce页面中{!carriers},使用carriersWithColors列表代替使用表值

<apex:pageblocktable value="{!carriersWithColors }" var="c">
    <apex:column headervalue="Carrier">
        <font color="{!c.color}">
            <apex:outputtext value="{!c.carrier.name}" />
        </font>
    </apex:column>

那应该足以让您入门。我让你填补空白。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用AngularJS有条件地更改CSS

来自分类Dev

带有AngularJS标记的VisualForce页面

来自分类Dev

ACE有条件地更改密钥绑定

来自分类Dev

GWT如何有条件地更改文本颜色

来自分类Dev

有条件地更改angularjs元素的颜色?

来自分类Dev

如何根据条件将Visualforce页面添加到现有页面的末尾?

来自分类Dev

R有条件地更改字符串

来自分类Dev

SSRS:有条件地更改文本框某些项目的字体颜色

来自分类Dev

Visualforce中的if-else条件块

来自分类Dev

有条件地更改特定单元格的背景颜色

来自分类Dev

有条件地更改链接颜色?

来自分类Dev

为什么Visualforce页面需要无效的HTML?(有时)

来自分类Dev

如何根据selectInput()有条件地更改Shiny wellPanel()背景颜色?

来自分类Dev

有条件地更改对象属性

来自分类Dev

如何在WPF中有条件地更改按钮前景颜色?

来自分类Dev

有条件地更改顶点形状

来自分类Dev

有条件地更改DOB中的年份

来自分类Dev

如何有条件地更改模型关系值

来自分类Dev

有条件地更改Dash数据表单元格的颜色

来自分类Dev

在没有Salesforce帐户的情况下访问VisualForce页面

来自分类Dev

有条件地随机分配颜色

来自分类Dev

根据不同单元格中的值有条件地更改字体颜色

来自分类Dev

R有条件地更改字符串

来自分类Dev

有条件地更改Angular中按钮的链接

来自分类Dev

有条件地更改颜色CSS

来自分类Dev

有条件地更改折线颜色

来自分类Dev

有条件地更改列上的联接

来自分类Dev

如何有条件地更改输出文本

来自分类Dev

Ansible - 有条件地更改选项值