salesforce 零基础学习(五十)自定义View或者List以及查看系统原来的View或者List

salesforce给我们提供了标准的页面,比如标准的页面包括标准的列表和标准的详细页视图。有的时候我们想要自定义视图,比如做一个项目的时候不希望使用者直接通过ID查看到标准的详细页,而是跳转到指定处理过的详细页,这个时候做法如下:

1.创建相关详细页的Controller,此Controller的构造函数应涵盖ApexPages.StandardController,ApexPages.StandardSetController两个参数

 1 public without sharing class CompanyDetailController {
 2     private Map<String,String> params;
 3     
 4     public Company_Info__c companyInfo{get;set;}
 5     
 6     public CompanyDetailController(ApexPages.StandardController controller) {
 7         init();
 8     }
 9     
10     public CompanyDetailController(ApexPages.StandardSetController controller) {
11         init();
12     }
13     
14     public void init() {
15         params = ApexPages.currentPage().getParameters();
16         String companyInfoId = params.get('id');
17         String fetchCompanyInfo = 'SELECT Company_Code_Unique__c, Company_Name__c, Company_Phone__c, Company_Place__c, Company_Type__c, CreatedDate,Employees_Number__c, Id FROM Company_Info__c where Id = :companyInfoId';
18         List<Company_Info__c> companyInfoList = Database.query(fetchCompanyInfo);
19         if(companyInfoList == null || companyInfoList.size() == 0) {
20             companyInfo = null;
21         } else {
22             companyInfo = companyInfoList.get(0);
23         }
24     }
25 }

2.创建相应的page,此page用于显示view的布局

 1 <apex:page standardController="Company_Info__c" extensions="CompanyDetailController">
 2     <apex:pageBlock >  
 3         <apex:panelGrid columns="2" style="width:100%;" rendered="{!companyInfo == null}">
 4             不存在此ID对应的记录,请重新检查相关ID
 5         </apex:panelGrid>
 6         <apex:panelGrid columns="2" style="width:100%;" rendered="{!companyInfo != null}">
 7             <apex:outputLabel value="{!$ObjectType.Company_Info__c.Fields.Company_Code_Unique__c.Label}" style="color: #830051;line-height: 24px;"/>
 8             <apex:outputLabel value="{!companyInfo.Company_Code_Unique__c}"/>
 9                 
10             <apex:outputLabel value="{!$ObjectType.Company_Info__c.Fields.Company_Name__c.Label}" style="color: #830051;line-height: 24px;"/>
11             <apex:outputLabel value="{!companyInfo.Company_Name__c}"/>
12             
13             <apex:outputLabel value="{!$ObjectType.Company_Info__c.Fields.Company_Phone__c.Label}" style="color: #830051;line-height: 24px;"/>
14             <apex:outputLabel value="{!companyInfo.Company_Phone__c}"/>
15              
16             <apex:outputLabel value="{!$ObjectType.Company_Info__c.Fields.Company_Place__c.Label}" style="color: #830051;line-height: 24px;"/>
17             <apex:outputLabel value="{!companyInfo.Company_Place__c}"/>
18                                   
19             <apex:outputLabel value="{!$ObjectType.Company_Info__c.Fields.Company_Type__c.Label}" style="color: #830051;line-height: 24px;"/>
20             <apex:outputLabel value="{!companyInfo.Company_Type__c}"/>               
21               
22             <apex:outputLabel value="{!$ObjectType.Company_Info__c.Fields.Employees_Number__c.Label}" style="color: #830051;line-height: 24px;"/>
23             <apex:outputLabel value="{!companyInfo.Employees_Number__c}"/>
24         </apex:panelGrid> 
25     </apex:pageBlock> 
26 </apex:page>

3.修改Company Info这个object的view,修改成override with visualforce Page

 4.显示效果:当在窗口输入:https://c.ap2.visual.force.com/a032800000JG8c0AAD访问以后会自动跳转到

https://c.ap2.visual.force.com/apex/CompanyDetailPage?id=a032800000JG8c0AAD&sfdc.override=1

通过以上几步可以实现自定义view的操作。那么问题来了,如果我是admin,我想通过这条记录ID,查看他的原始信息,查看他的审批流程,但是这条记录的view视图已经被override了怎么办,可以采用此种操作进行查看原始的记录view视图。

https://ap2.salesforce.com/a032800000JG8c0AAD?nooverride=1    此种访问便可以显示原来的view视图

总结:此篇主要想强调的是view视图被override以后想要看原始的视图方式,相信很多人都会,在此写成一篇博客,方便自己以后忘记时查看,此篇如果有错误的地方欢迎指正,有不懂的地方欢迎留言。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木子昭的博客

少写css, 早下班! Antd完成todo-list样式布局

402
来自专栏.Net移动开发

.Net语言 APP开发平台——Smobiler学习日志:如何在手机上实现散落点图表功能

最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便

682
来自专栏文渊之博

部署和使用kibana

背景 本文将主要介绍ELK的可视化工具Kibana的部署和使用。主要分为三个步骤来实现最终呈现:   1.导入数据到ES;   2.部署kiban...

21610
来自专栏林德熙的博客

win10 uwp 毛玻璃 Compositor 创建毛玻璃win2D最简单方法

毛玻璃在UWP很简单,不会和WPF那样伤性能。 本文告诉大家,如何在 UWP 使用 win2d 做毛玻璃。

351
来自专栏技术之路

golang 使用pprof和go-torch做性能分析

    软件开发过程中,项目上线并不是终点。上线后,还要对程序的取样分析运行情况,并重构现有的功能,让程序执行更高效更稳写。 golang的工具包内自带ppro...

732
来自专栏流柯技术学院

用Fiddler模拟低速网络环境

但当有人反应说「你的网页好慢」 甚至当网路速度慢,会造成你的网页跳出什么啊哩不哒的bug时要如何重现呢?

862
来自专栏WeTest质量开放平台团队的专栏

了解和分析iOS Crash

原文链接:http://wetest.qq.com/lab/view/404.html

882
来自专栏Flutter入门

Android OpenGL ES(六) - 将输入源换成视频

上文中,我们是将相机提供的预览画面输入到Surface当中,然后进行滤镜处理和录制。 那我们可以切换输入源为视频吗?

984
来自专栏智能合约

Phalcon入门教程之模型

1232
来自专栏何俊林

Android Multimedia框架总结(二十)MediaCodec状态图及Codec与输入/输出Buffer过程(附实例)

前言:前面几节都是介绍Camera2相关,对于Camera2预览把图像显示在SurfaceView上,还有录像时,时时刷新当前图像区域。追溯到最早介绍的Medi...

2218

扫码关注云+社区