有时候在自定义的visualforce页面上,需要实现系统标准的查找样式,当不能使用标准的style的时候,我们只能选择自定义实现,下面分享一个demo,预览效果如下:

实现代码,Visualforce页面

 <!-- 自定义放大镜查找效果 -->
 <apex:page showHeader="false" controller="SelectSystem"  standardStylesheets="false"  sidebar="false" title="产品清单">
 <html>
 <head>
     <link rel="stylesheet" href="{!URLFOR($Resource.StaticResource,'css/animate.css')}"/>
     <link rel="stylesheet" href="{!URLFOR($Resource.StaticResource,'css/bootstrap.min.css')}"/>
     <link rel="stylesheet" href="{!URLFOR($Resource.StaticResource,'css/style.css')}"/>
 </head>
 <apex:form id="form_Id">
 <apex:actionFunction action="{!getProductWithId}" name="getProductWithId" reRender="form_Id">
    <apex:param name="myParam" value=""/>
 </apex:actionFunction>
 <body>
     <table class="footable table table-stripped toggle-arrow-tiny" data-page-size="10">
         <thead>
             <tr>
               <th data-hide="phone">产品</th>
               <th data-hide="phone">描述</th>
               <th data-hide="phone">型号</th>
               <th data-hide="phone">品牌</th>
               <th data-hide="phone">单位</th>
             </tr>
         </thead>
         <tbody>
             <apex:repeat value="{!CustomAddProduct}" var="p" >
               <tr>
                 <td>
                     <apex:inputField id="pro" value="{!p.getProduct__c}" styleClass="lookupInput"  onchange="f3(this);"/>
                 </td>
                 <td>{!p.Description__c}</td>
                 <td>{!p.Model__c}</td>
                 <td>{!p.Brand__c}</td>
                 <td>{!p.Unit__c}</td>
               </tr>
             </apex:repeat>
         </tbody>
     </table>
 </body>
 <script type="text/javascript">
      function f3(obj){
         var objVa = document.getElementById(obj.id+'_lkid').value;
         console.log('get到的产品id是:' + objVa);
         getProductWithId(objVa);
     }
 </script>
 <style type="text/css">
     .lookupInput
     {
         display: inline;
         vertical-align: middle;
         white-space: nowrap;
     }
     .lookupInput img
     {
         background-repeat: no-repeat;
         margin-right: .25em;
         vertical-align: middle;
     }
     .lookupInput .disabled{
         background-color: #ccc;
     }
     .lookupInput .emptyDependentLookup{
         font-style: italic;
     }
     .lookupInput input[readonly]{
         background-color: #e6e6e6;
         border: 2px solid #e6e6e6;
         color: #333;
         cursor: default;
     }
     .lookupInput a.readOnly{
         float: right;
     }
     .lookupInput span.readOnly
     {
         display: block;
         white-space: normal;
     }
     .lookupInput span.totalSummary{
         font-weight: bold;
     }
     .inlineEditRequiredDiv .lookupInput img,.inlineEditDiv .lookupInput img{
         vertical-align: middle;
     }
     .quickCreateModule .lookupInput input {
         max-width: 155px
     }
     .lookupIcon
     {
         background-image: url({!URLFOR($Resource.lookup,'lookup20.gif')});
         background-position: 0 0;
         width: 20px;
         height: 20px;
         background-position: top left
     }
     .lookupIconOn
     {
         background-image: url({!URLFOR($Resource.lookup,'lookup20.gif')});
         background-position: 0 0;
         width: 20px;
         height: 20px;
         background-position: top right
     }
 </style>
 </apex:form>
 </html>
 </apex:page>

后台控制类

 /********
     *
     *  @Author:Ricardo
     *  @Time: 2018-01-26
     *  @Function: 自定义放大镜
     *
     */
 public class SelectSystem{
     public Product__c CustomAddProduct{get;set;}//自定义添加产品

     public void GetProductWithId(){
         string ProductIdParam = Apexpages.currentPage().getParameters().get('myParam');
         System.debug('输出get到的产品id:' + ProductIdParam);
         if((ProductIdParam) != null || (ProductIdParam != '')){
             String sql_new = 'select getProduct__c,Unit__c,Description__c,Brand__c,Model__c,id,Name from Product__c where  id=\'' + ProductIdParam + '\' limit 1';
             System.debug('输出查询语句:' + sql_new);
             CustomAddProduct = Database.Query(sql_new);
             CustomAddProduct.getProduct__c = ProductIdParam;
             System.debug('查询结果:' + CustomAddProduct);
         }
     }
 }

附赠使用的css文件

链接: https://pan.baidu.com/s/1FbR8vSD6iER4ShbuYi_7qQ 密码: 29a3

Salesforce 开发整理(十一) 自定义放大镜查找效果的更多相关文章

  1. Salesforce 开发整理(八)PDF打印相关

    一:基础设置 Salesforce中的PDF页面本质上还是Visualforce[简称VF]页面,所以只需要给VF页面加上一个属性[renderAs="pdf"] 即可生成一个PD ...

  2. Salesforce 开发整理(五)代码开发最佳实践

    在Salesforce项目实施过程中,对项目代码的维护可以说占据极大的精力,无论是因为项目的迭代,还是需求的变更,甚至是项目组成员的变动,都不可避免的需要维护之前的老代码,而事实上,几乎没有任何一个项 ...

  3. Salesforce 开发整理(九) 开发中使用的一些小技巧汇总[持续更新]

    1.查询一个对象下所有字段 当需要查询一个对象所有字段进行复制或其他操作,可以使用一段拼接的语句来查询 String query = 'select '; for(String fieldApi : ...

  4. Salesforce 开发整理(二)报表开发学习

    Salesforce提供了强大的报表功能,支持表格.摘要.矩阵以及结合共四种形式,本文探讨在站在开发的角度要如何理解报表. 一:查询报表基本信息报表在Sales force中是Report对象,基本的 ...

  5. Salesforce 开发整理(一)测试类最佳实践

    在Sales force开发中完善测试类是开发者必经的一个环节,代码的部署需要保证至少75%的覆盖率,那么该如何写好测试类呢. 测试类定义格式如下: @isTest private class MyT ...

  6. Salesforce 开发整理(十)项目部署总结

    项目部署顺序 全局值集 小组 自定义字段-对象-设置(SF1 紧凑布局要和记录类型在这里要一起部署) 邮件模板-静态资源 角色 工作流-流定义(包含进程生成器) 批准过程 开发部署<Apex类, ...

  7. Salesforce 开发整理(七)配置审批流

    salesforce提供了比较强大的可配置审批流功能,在系统中翻译为“批准过程”.所以需要配置审批时,选择创建 ——>  工作流和批准 ——> 批准过程,然后选择管理批准过程,选择需要配置 ...

  8. Salesforce 开发整理(六) Visualforce分页

    分页的实现总体上分真分页和假分页. 所谓真分页指页面上列出来的数据就是实际查询的数据,假分页则是无论页面上一次显示多少条记录,实际上后台已经加载了所有的记录,分页只是为了展示给用户查看.今天分享一个V ...

  9. Salesforce 开发整理(四)记录锁定

    如果一个对象的记录在满足某个条件的情况下,希望能对其进行锁定,即普通用户没有权限对其进行编辑操作,记录页面显示如下图 一般会在提交审批,或者项目进行到某个阶段的情况下,由后台进行判断要不要锁定记录,或 ...

随机推荐

  1. scrapy学习笔记(一)

    环境:Windows 7  x64   Python3.7.1  pycharm 一.安装scrapy 1.1linux系统使用:pip install scrapy 1.2Windows系统: pi ...

  2. Java生鲜电商平台-RBAC系统权限的设计与架构

    Java生鲜电商平台-RBAC系统权限的设计与架构 说明:根据上面的需求描述以及对需求的分析,我们得知通常的一个中小型系统对于权限系统所需实现的功能以及非功能性的需求,在下面我们将根据需求从技术角度上 ...

  3. 前端开发CSS3——使用方式和选择器

    CSS是Cascading Style Sheets(层叠样式表)的简写,用于修饰文档的语言,可以修饰HTML.XML.SVN.每个语言都有每个语法的规则:CSS声明.CSS声明块.CSS选择器.CS ...

  4. 解决Linux下ssh登录后出现 报错 Write failed: Broken pipe 的方法

    解决也很简单,在执行 ssh 命令的时候,多加一个参数即可,如下: ssh -p 2200 -o ServerAliveInterval=60 root@8.8.8.8 #服务器 8.8.8.8 的远 ...

  5. 实战篇丨聊一聊SSRF漏洞的挖掘思路与技巧

    在刚结束的互联网安全城市巡回赛中,R师傅凭借丰富的挖洞经验,实现了8家SRC大满贯,获得了第一名的好成绩!R师傅结合自身经验并期许新手小白要多了解各种安全漏洞,并应用到实际操作中,从而丰富自己的挖洞经 ...

  6. 【IPHONE开发-OBJECTC入门学习】复制对象,深浅复制

    转自:http://blog.csdn.net/java886o/article/details/9046273 #import <Foundation/Foundation.h> int ...

  7. python通过连接池连接redis,操作redis队列

    在每次使用redis都进行连接的话会拉低redis的效率,都知道redis是基于内存的数据库,效率贼高,所以每次进行连接比真正使用消耗的资源和时间还多.所以为了节省资源,减少多次连接损耗,连接池的作用 ...

  8. 2.InfluxDB-InfluxQL基础语法教程--目录

    本文翻译自官网,官方文档地址:(https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/) InfluxQL ...

  9. AWS之EC2实例搭建LAMP服务器

    在 Amazon Linux 2 上安装 LAMP Web 服务器 创建EC2实例,在安全组添加HTTP(80)规则 步骤 1:准备 LAMP 服务器 1.使用putty连接到你的EC2实例上(AMI ...

  10. 程序员代码面试指南 IT名企算法与数据结构题目最优解

    原文链接 这是一本程序员面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现.针对当前程序员面试缺乏权威题目汇总这一痛点,本书选取将近200道真实出现过的经典代码面试题,帮 ...