我有一个要求,我需要在名为Big Deal
&的联系人对象中创建2种记录类型。 Storefront
。
现在我必须创建一个名为Department for a User
的选项列表字段,它有2个值Big Deal
& Storefront
。
当选项列表值设置为说Big Deal
的用户登录到salesforce并打开一个包含两种记录类型联系人的帐户时,相关列表(联系人)必须仅显示记录类型的记录用户通过在用户中设置选项列表值来登录。
我为此编写了一个标准控制器,它在后端显示预期结果,但在我在UI中测试时无效。
请帮帮我。我是salesforce的新手。
VF页面:
<apex:page standardController="Account" extensions="myStandardControllerExtension">
<apex:detail subject="{!Account}" relatedList="false"/>
<apex:form >
<apex:pageBlock >
<apex:pageBlockTable value="{!con}" var="c" rendered="{!NOT(ISNULL(con))}">
<apex:column value="{!c.name}"/>
<apex:column value="{!c.phone}"/>
</apex:pageBlockTable>
</apex:pageBlock>
</apex:form>
</apex:page>
控制器:
public class myStandardControllerExtension {
public String accname{get;set;}
public List<Contact> con {get;set;}
public myStandardControllerExtension(ApexPages.StandardController acon){
getRecords();
}
public List<Contact> getRecords() {
User u = [SELECT Department__c FROM User WHERE id=:userinfo.getuserId()];
String departmentPicklist = u.department__c;
System.debug('*** User : ' + u);
RecordType rt = [SELECT Id,Name FROM RecordType WHERE name = :departmentPicklist Limit 1];
List<Contact> con = [Select id,LastName,Name FROM Contact WHERE RecordTypeId = : rt.Id];
System.debug('*** con : ' + con );
return con;
}
}