DEX450

Module 18: Working with List Controllers and SOSL Queries

课程介绍

今天我们来聊聊Salesforce中的两个非常实用的工具:列表控制器和SOSL。这两个工具可以帮助我们更高效地处理和查询数据。 首先,让我们来谈谈列表控制器。列表控制器是Salesforce提供的一个强大的工具,它允许我们在Apex代码中处理一组记录。想象一下,你有一堆数据记录,比如客户信息或者销售机会,列表控制器可以帮助你轻松地管理这些记录。你可以用它来添加、删除或者更新记录,甚至可以对记录进行排序和分页显示。这样,当你在开发页面或者处理大量数据时,列表控制器可以大大简化你的工作。 接下来,我们来看看SOSL,全称是Salesforce Object Search Language。SOSL是一种搜索语言,它允许你在Salesforce中跨多个对象进行全文搜索。比如,你可能想同时搜索客户、联系人和销售机会,看看哪些记录包含特定的关键词。SOSL就可以帮你做到这一点。它非常灵活,可以搜索文本、电子邮件、电话号码等多种类型的数据。使用SOSL,你可以快速找到你需要的信息,而不需要分别查询每个对象。 总结一下,列表控制器和SOSL是Salesforce中两个非常有用的工具。列表控制器帮助你管理一组记录,而SOSL则让你能够跨多个对象进行高效的搜索。掌握这两个工具,可以让你的Salesforce开发工作更加得心应手。希望今天的讲解对你有帮助,如果有任何问题,随时提问哦!

课程章节

本课程共有 34 个章节

  • 1

    Module 18: Working with List Controllers and SOSL Queries

    第 464 页

    今天我们来聊聊Salesforce中的两个非常实用的工具:列表控制器和SOSL。这两个工具可以帮助我们更高效地处理和查询数据。 首先,让我们来谈谈列表控制器。列表控制器是Salesforce提供的一个强大的工具,它允许我们在Apex代码中处理一组记录。想象一下,你有一堆数据记录,比如客户信息或者销售机会,列表控制器可以帮助你轻松地管理这些记录。你可以用它来添加、删除或者更新记录,甚至可以对记录进行排序和分页显示。这样,当你在开发页面或者处理大量数据时,列表控制器可以大大简化你的工作。 接下来,我们来看看SOSL,全称是Salesforce Object Search Language。SOSL是一种搜索语言,它允许你在Salesforce中跨多个对象进行全文搜索。比如,你可能想同时搜索客户、联系人和销售机会,看看哪些记录包含特定的关键词。SOSL就可以帮你做到这一点。它非常灵活,可以搜索文本、电子邮件、电话号码等多种类型的数据。使用SOSL,你可以快速找到你需要的信息,而不需要分别查询每个对象。 总结一下,列表控制器和SOSL是Salesforce中两个非常有用的工具。列表控制器帮助你管理一组记录,而SOSL则让你能够跨多个对象进行高效的搜索。掌握这两个工具,可以让你的Salesforce开发工作更加得心应手。希望今天的讲解对你有帮助,如果有任何问题,随时提问哦!

    查看详情
  • 2

    Working with Lists

    第 465 页

    让我们一步一步来,我会尽量用简单易懂的方式来解释。 首先,我们需要了解什么是标准列表控制器。在Salesforce中,标准列表控制器是一个内置的功能,它可以帮助我们轻松地显示和管理对象(比如联系人)的列表。它已经内置了很多功能,比如分页、排序等,所以我们不需要从头开始写代码。 接下来,我们需要创建一个SOSL查询。SOSL是Salesforce Object Search Language的缩写,它是一种用于在多个对象和字段中搜索文本的查询语言。与SOQL(Salesforce Object Query Language)不同,SOSL可以在多个字段中搜索关键词,而SOQL只能在特定的字段中搜索。所以,如果你想要在联系人的所有文本字段中搜索某个关键词,SOSL是非常适合的。 然后,我们需要创建一个自定义列表控制器。虽然标准列表控制器很好用,但有时候我们需要更多的自定义功能。这时候,我们可以创建一个自定义的Apex类来作为列表控制器。这个类会包含我们需要的逻辑,比如执行SOSL查询,处理搜索结果等。 最后,我们需要创建一个Visualforce页面来显示搜索结果。这个页面会使用我们自定义的列表控制器,并且会显示搜索到的联系人列表。用户可以在页面上输入关键词,点击搜索按钮,然后页面会显示所有匹配的联系人。 总结一下,我们需要做以下几件事: 1. 了解标准列表控制器。 2. 创建一个SOSL查询来搜索联系人的所有文本字段。 3. 创建一个自定义的Apex类作为列表控制器。 4. 创建一个Visualforce页面来显示搜索结果。 这样,用户就可以通过这个页面轻松地搜索联系人了。希望这个解释对你有帮助!如果有任何问题,随时问我。

    查看详情
  • 3

    Exploring Global Search

    第 466 页

    今天我们来聊聊Salesforce中的全球搜索功能,以及什么时候你可能需要创建一个自定义的搜索页面。 首先,全球搜索是一个非常强大的工具,它允许你在整个Salesforce组织中快速找到你需要的信息。比如说,如果你想找一家叫Acme的公司,你只需要在顶部的全球搜索栏中输入“Acme”,然后点击搜索。搜索结果会显示所有与Acme相关的记录,比如客户、联系人、机会等。如果你想看到更多的结果,可以点击页面底部的“搜索全部”,这样就能看到更全面的搜索结果了。 那么,什么时候你可能需要创建一个自定义的搜索页面呢?主要有两种情况: 1. ,定制搜索的字段或对象,:如果你发现默认的全球搜索不能满足你的需求,比如你需要搜索一些特定的字段或者特定的对象,这时候你就可能需要创建一个自定义的搜索页面。这样,你可以根据自己的需求来设置搜索条件,让搜索更加精准。 2. ,不同的用户界面或数据表示,:有时候,你可能希望搜索结果以不同的方式展示出来,或者你希望用户界面更加友好、直观。这时候,自定义搜索页面就能派上用场了。你可以设计一个符合你需求的界面,让用户在使用时更加方便。 总的来说,全球搜索是一个非常方便的工具,但在某些特定情况下,创建一个自定义的搜索页面可能会让你的工作更加高效。希望这些信息对你有帮助!如果有任何问题,随时问我哦!

    查看详情
  • 4

    Module Agenda - 467

    第 467 页

    今天我们来聊聊Salesforce中的列表控制器和SOSL查询。这部分内容非常实用,能帮助你在Salesforce中更高效地管理和查询数据。 首先,我们会学习如何使用标准列表控制器。标准列表控制器是Salesforce提供的一个非常方便的工具,它可以帮助你快速地在页面上展示和操作数据列表。你不需要写太多代码,就能实现数据的展示、排序、分页等功能。 接下来,我们会编写一个简单的SOSL查询。SOSL是Salesforce Object Search Language的缩写,它是一种用于在多个对象中搜索数据的语言。通过SOSL,你可以同时搜索多个对象中的记录,这在处理复杂的数据查询时非常有用。 然后,我们会创建一个自定义列表控制器。虽然标准列表控制器很方便,但有时候我们需要更灵活的控制,这时候自定义列表控制器就派上用场了。通过自定义列表控制器,你可以完全按照自己的需求来设计和控制数据的展示和操作。 最后,我们会把这些知识应用到实际场景中,创建一个收件箱模块。这个模块会使用列表控制器和SOSL查询来展示和管理收件箱中的信息。通过这个模块,你可以更好地理解如何在实际项目中使用这些技术。 好了,这就是我们今天的主要内容。希望你能通过这些学习,掌握Salesforce中列表控制器和SOSL查询的使用,提升你的开发效率。如果有任何问题,随时提问哦!

    查看详情
  • 5

    Standard List Controllers

    第 468 页

    今天我们来聊聊Salesforce中的标准列表控制器。这个工具非常有用,特别是当你想要超越Salesforce提供的标准用户界面时。 首先,标准列表控制器允许你在Visualforce页面上展示一组记录。你可以使用它来创建一个完全自定义的用户体验。比如,你可能不想用Salesforce默认的列表视图,而是希望记录显示在一个网格里,或者在一个单独的标签页中查看它们。这就是标准列表控制器派上用场的地方。 在Visualforce页面中,你会用到`recordSetVar`属性。这个属性只是用来给页面上的记录集合起个名字,方便你在页面上引用这些记录。而`standardController`属性则是用来指定你想要操作的对象类型,比如账户、联系人或者机会等。 这里有个小提示:不是所有的Salesforce对象都支持标准列表控制器。目前,只有一些特定的对象可以使用这个功能,比如账户、联系人、机会等。如果你使用的是自定义对象,那么它也是支持的。 总结一下,标准列表控制器是一个强大的工具,可以帮助你创建更符合业务需求的用户界面。通过它,你可以自由地设计和实现不同于标准Salesforce界面的用户体验。希望这能帮助你更好地理解和使用标准列表控制器!

    查看详情
  • 6

    List Views and Standard List Controllers

    第 469 页

    今天我们来聊聊Salesforce中的列表视图和标准列表控制器。这两个功能在日常工作中非常实用,能帮助我们更高效地管理和查看数据。 首先,列表视图是什么呢?简单来说,列表视图就是你在Salesforce中查看记录的一种方式。比如,你有一堆客户记录,列表视图可以帮你把这些客户按照一定的条件筛选出来,并且只显示你关心的那些字段。这样,你就不用在一大堆信息中找来找去了。 那么,标准列表控制器又是什么呢?它其实是一个Apex控制器,专门用来处理列表视图中的数据。它可以帮助你在页面上显示记录,并且支持分页、排序、筛选等操作。有了它,你就可以轻松地在页面上展示和管理数据了。 接下来,我会带大家进入Salesforce的组织,看看在哪里可以找到和使用列表视图。我们不需要做复杂的配置,只需要知道如何利用列表视图来过滤记录,并选择显示哪些字段就可以了。 比如,假设你想查看所有“未关闭”的销售机会,你可以在列表视图中设置一个过滤器,只显示状态为“未关闭”的记录。然后,你可以选择只显示机会名称、金额和关闭日期这几个字段。这样一来,你就能快速找到你需要的信息了。 好了,这就是今天关于列表视图和标准列表控制器的简单介绍。希望大家能通过这个功能,更高效地管理Salesforce中的数据。如果有任何问题,随时问我哦!

    查看详情
  • 7

    Standard List Controllers Example

    第 470 页

    让我们来聊聊这个标准列表控制器的示例。这个示例主要是教我们如何使用Salesforce的标准列表控制器来显示一个账户记录的列表。你可以把这个代码复制到你的Visualforce页面中,这样你就能看到实际的效果了。 首先,这个页面使用的是账户的标准列表控制器。这意味着它专门用来处理和显示账户相关的数据。在这个页面上,你会看到一个表格,这个表格显示了所有账户的名称。具体显示哪些账户呢?这取决于用户上次使用的列表视图。也就是说,如果你之前筛选过某些账户,那么这次显示的也会是那些账户。 这个页面没有特别指定筛选器,所以它会默认显示你上次使用的筛选器(也就是列表视图)。这就像你在Force.com API中查询数据一样,你可以使用表达式语言语法来从相关的记录中检索数据。和标准控制器一样,你可以遍历从子到父关系的五个级别,以及从父到子关系的一个级别。 当你使用标准列表控制器时,返回的记录会按照当前视图定义的第一列数据进行排序,即使这一列没有在页面上显示出来。如果你使用扩展或自定义的列表控制器,你就可以控制排序的方法了。不过要注意的是,列表控制器最多只能返回10,000条记录。 这就是这个示例的主要内容。希望这能帮助你理解如何使用标准列表控制器来显示账户记录。如果你有任何问题,随时问我哦!

    查看详情
  • 8

    Filtering Records

    第 471 页

    同学们,今天我们来聊聊如何在Salesforce中过滤记录。这个功能非常实用,可以帮助我们快速找到我们需要的信息。 首先,如果你不指定任何过滤器,那么当你打开一个使用标准列表控制器的页面时,它会自动显示你上次访问时使用的过滤器。这意味着,系统会记住你上次的筛选条件,让你可以快速回到之前的工作状态。 接下来,如果你想向学生展示如何查看列表视图,你可以直接进入组织设置,向他们展示在哪里可以找到这些视图。这里不需要进行复杂的配置,列表视图已经内置了过滤功能,允许用户根据自己的需求筛选记录,并决定哪些字段需要显示。 最后,有一个技术细节需要注意:如果你在页面上使用了`selectList`组件,这个组件必须嵌套在`apex:form`组件中。这是因为`selectList`需要表单的支持来正确处理用户的选择和提交。 简单来说,过滤记录就是让数据更有序,帮助我们更快地找到需要的信息。记住这些小技巧,你的Salesforce使用会更加得心应手!

    查看详情
  • 9

    Using the <apex:actionSupport> Tag

    第 472 页

    今天我们来聊聊Salesforce中的标签,以及它如何利用AJAX技术来提升用户体验。 首先,什么是AJAX呢?AJAX是“Asynchronous JavaScript and XML”的缩写,简单来说,它是一种让网页能够在不重新加载整个页面的情况下,与服务器交换数据并更新部分内容的技术。想象一下,你在查看邮件时,点击“刷新”按钮,只有收件箱部分更新了,而页面的其他部分保持不变,这就是AJAX的魔力。 在Salesforce的Visualforce页面中,标签就是用来实现这种AJAX功能的。它允许你在用户执行某些操作(比如点击按钮或改变下拉菜单选项)时,触发一个服务器端的动作,然后只更新页面的一部分,而不是整个页面。 但是,使用标签时有一个重要的注意事项:它必须作为标签的子元素使用。这意味着你需要确保你的标签是嵌套在一个标签里面的。 除了,Visualforce还提供了其他一些支持AJAX功能的标签,比如。这些标签可以帮助你更灵活地控制页面的动态更新。 如果你想深入了解这些标签的使用方法和更多细节,我推荐你查阅《Visualforce开发人员指南》,那里有更详细的解释和示例。 希望这些信息对你有帮助,如果你有任何问题,随时问我!

    查看详情
  • 10

    Pagination with Standard List Controllers

    第 473 页

    今天我们来聊聊Salesforce中的标准列表控制器,特别是如何进行翻页操作。这个功能非常实用,尤其是在处理大量数据时。 首先,标准列表控制器是Salesforce提供的一个强大的工具,它可以帮助我们轻松地管理和展示数据。这个控制器内置了很多方法,比如翻页、排序、筛选等,这些都可以帮助我们更好地控制数据的展示方式。 现在,我们重点来看看如何进行翻页。在标准列表控制器中,有一个叫做`pageSize`的属性。这个属性决定了每页显示多少条记录。比如,如果你设置`pageSize`为10,那么每页就会显示10条记录。你可以根据实际需求调整这个数值,以适应不同的展示需求。 举个例子,假设你有一个包含100条记录的列表,如果你设置`pageSize`为10,那么整个列表就会被分成10页,每页显示10条记录。用户可以通过点击“下一页”或“上一页”来浏览不同的页面。 如果你想了解更多关于标准列表控制器的其他方法,可以参考Salesforce的官方文档。文档中详细列出了所有可用的方法和属性,帮助你更好地掌握这个工具。 总之,通过设置`pageSize`属性,你可以轻松控制每页显示的记录数,从而实现翻页功能。希望这个讲解对你有帮助!如果有任何问题,随时问我哦。

    查看详情
  • 11

    Using Pagination Methods

    第 474 页

    同学们,今天我们来聊聊如何在Salesforce中使用分页功能。分页是一个非常实用的功能,尤其是在处理大量数据时,它可以帮助我们更有效地浏览和管理数据。 首先,我们来看一下代码。在这段代码中,我们有四个按钮:“First”(第一页)、“Previous”(上一页)、“Next”(下一页)和“Last”(最后一页)。这些按钮的功能非常直观,它们允许用户在数据集中快速导航。 这些按钮的实现依赖于几个关键的方法:`pageSize`、`pageNumber`和`ResultSize`。`pageSize`定义了每页显示多少条记录,`pageNumber`告诉我们当前是第几页,而`ResultSize`则告诉我们总共有多少条记录。这些方法都是标准集控制器(StandardSetController)的一部分,这个控制器提供了很多有用的方法来处理分页。 如果你想要查看所有可用的方法,可以访问这个链接:[StandardSetController Methods](https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/apex_ApexPages_StandardSetController_methods.htm)。这个链接在上一个幻灯片的注释中也有提供。 接下来,我们来看一下代码的具体实现。代码中使用了`apex:commandButton`来创建这些按钮,每个按钮都有一个`action`属性,这个属性绑定到了标准集控制器的相应方法上,比如`{!First}`、`{!Previous}`、`{!Next}`和`{!Last}`。这些方法会根据用户的点击来更新当前显示的记录。 此外,代码中还有一个`apex:outputText`组件,它用来显示当前页的记录范围,比如“1到10条记录,共100条”。这个信息是通过计算`pageNumber`、`pageSize`和`ResultSize`得出的。 最后,代码中还有一个`apex:selectList`组件,它允许用户选择一个过滤器来筛选显示的记录。这个功能可以帮助用户更精确地找到他们需要的数据。 好了,这就是我们今天的内容。希望你们对Salesforce中的分页功能有了更清晰的理解。如果有任何问题,随时提问!

    查看详情
  • 12

    18-1: Create a Page to Display a List of Records

    第 475 页

    让我们来聊聊如何在Salesforce中创建一个页面来显示记录列表。这个功能非常实用,尤其是在你需要快速查看和管理大量数据时。 首先,我们使用了一个叫做``的标签。这个标签可以帮助我们在页面上创建一个表格,用来展示我们的记录。在这个表格里,每一行代表一个记录,每一列则代表记录中的一个字段。 在这个例子中,我们展示了一个账户列表。我们通过`value=&quot;{!accounts}&quot;`来绑定数据源,这里的`accounts`是一个在后台控制器中定义的变量,它包含了我们要展示的所有账户记录。然后,我们使用`var=&quot;acct&quot;`来定义一个变量,这个变量在表格的每一行中代表一个账户记录。 接下来,我们使用``标签来定义表格中的每一列。每一列都对应账户记录中的一个字段,比如账户名称(`Name`)、电话(`Phone`)、行业(`Industry`)、网站(`Website`)和支持级别(`Support_Level__c`)。这样,当页面加载时,每个账户的这些信息就会整齐地显示在表格中。 此外,我们还使用了一个叫做``的标签。这个标签允许我们在用户进行某些操作时(比如改变选择列表中的选项),动态地更新页面上的内容。在这个例子中,当用户改变选择列表中的选项时,``会触发一个重新渲染的动作,更新`accountList`区域的内容。同时,我们还设置了一个状态提示``,当系统在处理用户的请求时,会显示“Working...”来告知用户系统正在工作。 总的来说,这个页面通过简单的标签和逻辑,就能有效地展示和管理Salesforce中的记录,非常适合需要快速查看和操作数据的场景。希望这个解释能帮助你更好地理解如何在Salesforce中创建和使用这样的页面。

    查看详情
  • 13

    Module Agenda - 476

    第 476 页

    同学们,今天我们来聊聊Salesforce中的列表控制器和SOSL查询。这个模块的内容非常实用,能帮助你们更好地管理和查询数据。 首先,我们会学习如何使用标准列表控制器。这个控制器是Salesforce提供的一个内置工具,它能帮助我们轻松地展示和操作数据列表。比如,你可以用它来显示一组客户记录,并且允许用户对这些记录进行排序、筛选等操作。 接下来,我们会编写一些简单的SOSL查询。SOSL是Salesforce Object Search Language的缩写,它是一种强大的搜索语言,可以跨多个对象进行搜索。比如,你可以用SOSL来查找所有包含某个关键词的客户、联系人或者机会记录。 然后,我们会创建一个自定义列表控制器。这个控制器允许你根据自己的需求来定制数据列表的展示方式。比如,你可以控制哪些字段显示在列表中,或者添加一些自定义的按钮和操作。 最后,我们会把这些知识应用到实际场景中,创建一个收件箱功能。这个收件箱会使用列表控制器和SOSL查询来展示和管理用户的邮件记录。 好了,这就是我们今天要学习的内容。希望大家能跟上节奏,有任何问题随时提问。我们开始吧!

    查看详情
  • 14

    Anatomy of a Simple SOSL FIND Statement

    第 477 页

    让我们来聊聊SOSL,也就是Salesforce Object Search Language。你可以把它想象成一个超级方便的搜索引擎,但它不是用来搜索网页的,而是用来搜索Salesforce里面的数据。 首先,SOSL的核心就是“FIND”这个关键字。你只需要用“FIND”加上你想要搜索的文本,SOSL就会帮你在Salesforce的所有对象中查找包含这个文本的记录。比如,你想找所有提到“客户支持”的记录,你就可以用SOSL来搜索。 这里有个小提示:SOSL搜索是不区分大小写的。也就是说,无论你输入的是“客户支持”还是“客户支持”,它都能找到相关的结果。 Andres P.曾经说过,SOQL是用来查询的,而SOSL是用来搜索的。这句话很好地概括了两者的区别。SOQL更像是精确的数据库查询,而SOSL则更像是一个广泛的文本搜索工具。 在接下来的课程中,我们会通过一些具体的例子来深入探讨SOSL的用法,这样你就能更好地理解如何在Salesforce中使用它来找到你需要的信息了。

    查看详情
  • 15

    The FIND Clause: Using Wildcards in SOSL Search Terms

    第 478 页

    今天我们来聊聊Salesforce中的SOSL搜索,特别是关于如何使用通配符来优化我们的搜索。SOSL,也就是Salesforce Object Search Language,是一种非常强大的工具,可以帮助我们在Salesforce中快速找到我们需要的数据。 首先,我们来看看星号(*)的使用。星号在SOSL中代表零个或多个字符。但是,它只能用在搜索词的中间或末尾,不能用在开头。举个例子,如果你搜索“John*”,那么你可能会找到John、Johnson或者Johnny这样的结果。再比如,搜索“mi*Meyers”可能会找到Mike Meyers或者Michael Meyers。如果你需要搜索一个实际的星号字符,记得在星号前面加上一个反斜杠(\)来转义它。 接下来是问号(?)的使用。问号代表一个字符,它也只能用在搜索词的中间或末尾。比如,搜索“Jo?n”可能会找到John或者Joan,但不会找到Jon或者Johan。 在SOSL中,你还可以使用逻辑运算符,比如AND、OR、AND NOT等,来构建更复杂的查询。例如,你可以使用“Find{A?M*}”这样的混合查询,这在查询编辑器中是有效的。 最后,对于中文、日文、韩文和泰文(CJKT)的搜索,除了精确短语搜索外,单个字符的末尾会自动附加一个通配符(*),这有助于提高搜索的灵活性和准确性。 希望这些信息能帮助你在Salesforce中更有效地使用SOSL进行搜索。如果你有更多问题,随时欢迎提问!

    查看详情
  • 16

    The IN Clause: Specifying a Search Group

    第 479 页

    今天我们来聊聊Salesforce中的IN子句,特别是关于如何指定搜索组。这个功能可以帮助我们更精确地找到我们需要的数据。 首先,IN子句允许我们指定在哪些字段中进行搜索。如果我们不指定IN子句,Salesforce默认会在所有可搜索的字段中进行查找。这听起来很方便,但有时候我们可能只需要在特定的字段中搜索,比如电子邮件或名称字段。 例如,如果我们只想在电子邮件字段中搜索,我们可以使用“IN EMAIL FIELDS”。这样,Salesforce就只会查看电子邮件字段,而忽略其他字段。同样地,如果我们只想在名称字段中搜索,我们可以使用“IN NAME FIELDS”。这对于自定义对象特别有用,因为我们可以指定哪个字段作为名称字段。 此外,还有电话字段的搜索选项,即“IN PHONE FIELDS”,这让我们可以仅搜索电话号码字段。 不过,有一个叫做“边栏字段”的搜索选项,虽然它曾经很流行,但现在用得比较少了。这个选项允许我们搜索边栏下拉列表中列出的有效记录。与应用程序中的搜索不同,这里的星号(*)通配符不会自动附加到搜索字符串的末尾。 最后,需要注意的是,当我们选择“所有字段”进行搜索时,并不是所有的字段都会被搜索。例如,文本、电子邮件和电话字段不会被搜索。此外,一些特定的对象和字段,如选择列表、数字、日期或复选框字段,以及某些对象的附件记录,也不会被搜索。如果我们需要搜索这些类型的数据,我们可能需要使用Query()调用。 希望这些信息能帮助你更好地理解和使用Salesforce中的IN子句和搜索功能。如果有任何疑问,随时提问哦!

    查看详情
  • 17

    The RETURNING Clause

    第 480 页

    今天我们来聊聊Salesforce中的RETURNING子句。这个子句在SOQL查询中非常有用,它允许我们指定查询返回哪些字段或对象。听起来有点复杂,但其实很简单,我们一步步来看。 首先,RETURNING子句是用来决定查询结果中返回哪些数据的。它不会影响我们搜索哪些数据,只会影响我们最终看到哪些数据。 举个例子,如果我们只想从一个对象中返回Id字段,我们可以这样写: ```sql SELECT Id FROM Account ``` 这里,我们只返回了Account对象的Id字段。 如果我们想从多个对象中返回Id字段,比如Account和Contact,我们可以这样写: ```sql SELECT Id FROM Account SELECT Id FROM Contact ``` 这样,我们就能同时看到Account和Contact的Id了。 接下来,如果我们想从一个对象中返回特定的字段,比如Account的Name和Phone字段,我们可以这样写: ```sql SELECT Name, Phone FROM Account ``` 这样,查询结果中就会包含Account的Name和Phone信息。 最后,如果我们只想返回满足特定条件的记录,比如所有名字中包含“Acme”的Account,我们可以这样写: ```sql SELECT Id, Name FROM Account WHERE Name LIKE &#39;%Acme%&#39; ``` 这里,我们使用了WHERE子句来筛选出名字中包含“Acme”的Account,并且只返回这些Account的Id和Name字段。 总结一下,RETURNING子句帮助我们精确控制查询结果中返回哪些数据,而不会影响我们搜索哪些数据。希望这个解释能帮助你更好地理解RETURNING子句的用法。如果有任何问题,随时问我哦!

    查看详情
  • 18

    Where Can You Use SOSL?

    第 481 页

    让我们来聊聊SOSL(Salesforce Object Search Language)的使用场景和一些教师需要注意的事项。 首先,SOSL主要用于在Salesforce中进行跨对象的搜索。想象一下,你有一个大图书馆,里面有各种各样的书,SOSL就像是一个超级智能的图书管理员,可以帮助你快速找到你需要的书,不管它们放在哪个书架上。 在Apex编程中,SOSL的使用有一个特别的要求:你必须使用RETURNING子句。这个子句告诉Salesforce你想要从哪些对象中返回数据。比如,如果你想找所有关于“Acme”公司的记录,你可能会写一个SOSL查询,指定你想要从“Account”和“Contact”这两个对象中返回数据。 但是,这里有一个小陷阱。在Developer控制台的查询编辑器中,你可以直接写一个简单的搜索,比如“查找{Acme}”,这在那里是可行的。然而,如果你在Apex代码中尝试这样做,就会遇到问题,因为Apex要求你必须明确指定RETURNING子句。 所以,作为教师,你需要确保学生们理解这一点:在Apex中使用SOSL时,RETURNING子句是必不可少的。这不仅帮助他们编写正确的代码,也让他们更好地理解Salesforce的数据检索机制。 希望这个解释对你有帮助!如果你有任何问题,随时问我。

    查看详情
  • 19

    Comparing SOSL and SOQL

    第 482 页

    大家好,今天我们来聊聊Salesforce中的两种查询语言:SOQL和SOSL。虽然它们都可以用来查询数据,但它们各有特点和适用场景。 首先,SOQL,也就是Salesforce Object Query Language,主要用于从单个对象中查询数据。它非常适合当你需要从特定的对象中获取数据,并且你知道具体要查询哪些字段时使用。SOQL的查询非常精确,可以指定具体的字段和条件来获取数据。 而SOSL,即Salesforce Object Search Language,则更适合进行文本搜索。当你需要在多个对象中搜索包含特定文本的记录时,SOSL就显得非常有用。它特别适用于用户交互场景,比如用户在移动设备上搜索信息时,SOSL可以帮助他们快速找到所需内容,而不需要浏览一长串的选项。 在使用这两种查询语言时,有几个注意事项需要记住: 1. 如果你在搜索表达式中使用了前导通配符或包含词,SOSL通常会比SOQL更快。 2. 当SOQL查询中使用多个WHERE筛选器时,即使字段已被索引,也可能无法使用索引。这时,将查询分解为多个简单的查询,然后组合结果,可能会更有效。 3. 避免在WHERE筛选器中使用空值进行查询,因为这会导致无法使用索引,从而需要扫描整个数据库。 4. 如果查询字段可能传入空值,先检查空值,避免不必要的查询执行。 在设计定制查询或搜索界面时,记得: - 尽量减少查询的字段数量,特别是在大数据环境中,这样可以更容易进行性能调优。 - 根据需求决定使用SOQL、SOSL还是它们的组合。 希望这些信息能帮助大家更好地理解和使用SOQL和SOSL。如果有任何疑问,欢迎随时提问!

    查看详情
  • 20

    Choosing Between SOSL and SOQL

    第 483 页

    同学们,今天我们来聊聊在Salesforce中如何选择使用SOSL还是SOQL。这两种查询语言各有特点,适用于不同的场景。我们通过几个例子来理解它们的使用场景。 首先,SOSL,也就是Salesforce Object Search Language,它主要用于在多个字段和多个对象中搜索文本。比如,如果你想要查找所有包含“笔记本电脑”这个词的记录的名称和ID,SOSL就非常合适。因为它可以在多个字段中搜索,找到所有相关的记录。 接下来是SOQL,Salesforce Object Query Language,它主要用于在一个对象中查询满足特定条件的记录,并且可以对结果进行排序。比如,如果你想要按交付日期的顺序列出未来某个课程的所有交付,SOQL就是你的好帮手。你可以指定条件,比如只选择未来的交付,并且按日期排序。 再来看一个例子,如果你需要计算名称字段中带有“Acme”的机会记录的数量,SOQL也能胜任。你可以写一个查询,只选择那些名称中包含“Acme”的记录,然后使用COUNT()函数来计算数量。 总结一下,如果你需要在多个字段和对象中搜索文本,选择SOSL。如果你需要在一个对象中查询特定条件并对结果进行排序或计数,选择SOQL。希望这些例子能帮助你们更好地理解何时使用SOSL和SOQL。

    查看详情
  • 21

    What Does a SOSL Search Return?

    第 484 页

    让我们来聊聊SOSL搜索返回的内容。想象一下,你正在使用SOSL进行搜索,就像是在一个大型图书馆里寻找不同类型的书籍。SOSL搜索的结果会返回一个列表,这个列表里包含了你在搜索时指定的各种类型的s对象。 具体来说,这个列表是一个“s对象列表的列表”。这是什么意思呢?简单来说,就是每个你在REITURNING条款中指定的s对象类型,都会有一个对应的列表。这些列表里装的就是符合你搜索条件的s对象。 举个例子,如果你在REITURNING条款中指定了Account和Contact这两种s对象,那么SOSL返回的列表就会有两个子列表:一个装的是Account对象,另一个装的是Contact对象。而且,这些子列表的顺序和你指定的顺序是一致的。 所以,要点就是:SOSL的结果是一个包含多种类型s对象的列表,每种类型的s对象都有自己的专属列表。 接下来,我们会看看如何处理这些SOSL结果,通过代码来操作这些列表,找到你需要的信息。这样,你就能更灵活地使用SOSL来满足你的业务需求了。

    查看详情
  • 22

    Use Multiple For Loops to Process a <List<List<sObject>>

    第 485 页

    同学们,今天我们来聊聊如何在Salesforce中使用多个For循环来处理一个包含多个列表的列表,也就是`List&gt;`。听起来有点复杂,但其实很简单,我们一步步来。 首先,想象一下你有一个大盒子,这个大盒子里装了很多小盒子,每个小盒子里又装了一些小球。在Salesforce中,这个大盒子就是`List&gt;`,小盒子是`List`,小球就是`sObject`,也就是我们的数据记录。 现在,假设我们有两个小盒子,分别叫`acmes[0]`和`acmes[1]`。`acmes[0]`是第一个小盒子,里面装了一些小球;`acmes[1]`是第二个小盒子,里面也装了一些小球。我们的任务是逐个查看这些小盒子里的每个小球。 我们可以用两个For循环来完成这个任务。第一个For循环用来遍历大盒子里的每个小盒子,第二个For循环用来遍历小盒子里的每个小球。 让我们来看一下代码: ```apex List&gt; acmes = new List&gt;(); // 假设我们已经给acmes添加了一些数据 for (List smallBox : acmes) { for (sObject ball : smallBox) { System.debug(&#39;小球的信息: &#39; + ball); } } ``` 在这个代码中,第一个For循环`for (List smallBox : acmes)`会逐个取出大盒子`acmes`里的小盒子`smallBox`。然后,第二个For循环`for (sObject ball : smallBox)`会逐个取出小盒子`smallBox`里的小球`ball`,并打印出小球的信息。 你可以把这个代码复制到Salesforce的开发人员控制台的执行匿名窗口中运行。运行后,记得在日志中过滤只显示调试信息,这样你就能看到每个小球的信息被打印出来了。 通过这种方式,我们可以轻松地处理嵌套的列表结构,确保每个数据记录都被正确处理。希望这个解释对你有帮助,如果有任何问题,随时问我!

    查看详情
  • 23

    Variable and Expression Binding in SOSL Searches

    第 486 页

    今天我们来聊聊SOSL搜索中的变量和表达绑定。这个知识点其实和SOQL中的绑定非常相似,但有一些小细节需要注意。 首先,什么是变量绑定呢?简单来说,就是我们在查询中使用变量来代替具体的值。这样做的好处是,可以让我们的查询更加灵活和动态。比如,我们可以在不同的情况下,使用不同的变量值来执行同一个查询。 在SOSL中,变量绑定是通过“:”来实现的。也就是说,当我们在查询中使用变量时,需要在变量名前加上一个冒号。比如,如果我们有一个变量叫做`searchTerm`,那么在SOSL查询中,我们就可以这样写: ```apex FIND :searchTerm IN ALL FIELDS RETURNING Account(Name), Contact(FirstName, LastName) ``` 这里,`searchTerm`就是一个变量,它会在查询执行时被替换成具体的值。 需要注意的是,SOSL中的变量绑定和SOQL中的绑定方式是一样的,都是使用“:”来绑定变量。所以,如果你已经熟悉了SOQL中的变量绑定,那么在SOSL中使用变量绑定也会非常容易上手。 总结一下,SOSL中的变量绑定是通过“:”来实现的,和SOQL中的绑定方式相同。这样做可以让我们的查询更加灵活和动态。希望这个解释能帮助你更好地理解SOSL中的变量绑定。如果有任何问题,随时问我哦!

    查看详情
  • 24

    Governor Limits for SOSL Searches in Apex

    第 487 页

    让我们来聊聊Apex中的SOSL(Salesforce Object Search Language)和它的总督限制。首先,SOSL是一种在Salesforce中搜索多个对象的强大工具,但就像任何强大的工具一样,它也有一些使用上的限制,我们称之为“总督限制”。 这些限制主要包括三个方面: 1. ,发出的SOSL搜索总数,:这意味着在你的Apex代码中,你只能执行一定数量的SOSL搜索。这个数量是有限制的,所以你需要确保你的代码不会超过这个限制。 2. ,单次SOSL搜索检索到的记录总数,:每次你执行一个SOSL搜索,它只能返回一定数量的记录。如果你需要处理大量数据,你可能需要分多次搜索来处理。 3. ,堆的总大小,:这是指你的Apex代码在执行过程中使用的内存总量。SOSL搜索也会占用一部分内存,所以你需要确保你的代码不会因为内存使用过多而失败。 这些限制不仅适用于普通的SOSL搜索,也适用于临时SOSL搜索。所以,无论你是在开发新的功能还是在维护现有的代码,都需要时刻注意这些限制。 如果你想了解更多关于这些限制的具体数值,你可以通过Salesforce的帮助和培训资源搜索“Apex Governor Limits”来找到最新的信息。同时,我建议你查看相关的PDF文档,那里会有更详细的说明和当前的限制数值。 记住,了解并遵守这些限制,可以帮助你编写出更高效、更稳定的Apex代码。希望这些信息对你有所帮助!

    查看详情
  • 25

    Testing SOSL Searches

    第 488 页

    让我们来聊聊Salesforce中的SOSL搜索和如何在Apex测试中使用它。 首先,SOSL是Salesforce Object Search Language的缩写,它允许你在多个对象中搜索特定的文本。这在Apex代码中非常有用,尤其是当你需要跨多个对象查找数据时。 但是,当你在Apex测试方法中使用SOSL查询时,默认情况下,Salesforce不会返回任何搜索结果。这是为了确保测试的独立性和可重复性,避免测试结果受到实际数据的影响。 那么,如何在测试中模拟SOSL查询的返回结果呢?这里就用到`Test.setFixedSearchResults`方法了。这个方法允许你定义一个固定的搜索结果集,这样当你的测试方法执行SOSL查询时,它会返回你预先设定的记录ID列表。 具体来说,`Test.setFixedSearchResults`方法接受一个ID列表作为参数。这个列表中的ID代表了SOSL查询应该返回的记录。当你调用这个方法后,任何在测试方法中执行的SOSL查询都会返回这些ID对应的记录。 例如,假设你有一个SOSL查询在测试中搜索特定的客户名称。你可以使用`Test.setFixedSearchResults`来设置一些预定义的客户ID,这样当测试执行时,SOSL查询就会返回这些客户记录,而不是空的搜索结果集。 总结一下,`Test.setFixedSearchResults`是一个非常强大的工具,它允许你在Apex测试中控制SOSL查询的返回结果,确保你的测试既可靠又可预测。希望这个解释对你有帮助!如果你有任何问题,随时问我。

    查看详情
  • 26

    18-2: Integrate SOSL Search in a Visualforce Page

    第 489 页

    让我们来聊聊如何在Visualforce页面中集成SOSL搜索,以及一些相关的知识点。 首先,SOSL(Salesforce Object Search Language)是Salesforce提供的一种搜索语言,它允许你在多个对象和字段中执行搜索。与SOQL(Salesforce Object Query Language)不同,SOSL可以跨对象搜索,非常适合在需要广泛搜索时使用。 ### 1. 在SOSL搜索中使用IN Name Fields条款 你可能会问,什么时候会在SOSL搜索中使用`IN Name Fields`条款呢?简单来说,当你想要将搜索限制在那些`nameField`属性设置为`true`的字段时,就可以使用这个条款。这些字段通常是对象的名称字段,比如Account的“Name”字段。通过使用`IN Name Fields`,你可以确保搜索只在这些特定的字段中进行,从而提高搜索的精确度。 ### 2. SOSL中的通配符 接下来,我们来看看SOSL中可以使用哪些通配符。SOSL支持两种通配符: - ,?(问号),:这个通配符用于匹配单个字符。比如,如果你搜索`te?t`,它可以匹配到“test”或“text”。 - ,\,*(星号):这个通配符用于匹配多个字符。比如,如果你搜索`te*t`,它可以匹配到“test”、“text”甚至“teapot”。 这些通配符可以帮助你在搜索时更加灵活,尤其是在你不确定完整的关键词时。 ### 3. 将SOSL集成到Visualforce页面中 现在,让我们来看看如何将SOSL搜索集成到Visualforce页面中。你可以通过以下步骤来实现: 1. ,创建Apex控制器,:首先,你需要在Apex中编写一个控制器,用于处理SOSL搜索的逻辑。这个控制器会接收用户输入的搜索词,并执行SOSL查询。 2. ,编写Visualforce页面,:在Visualforce页面中,你可以添加一个输入框和一个按钮,让用户输入搜索词并触发搜索。当用户点击搜索按钮时,页面会调用Apex控制器中的方法,执行SOSL搜索。 3. ,显示搜索结果,:搜索完成后,你可以将结果显示在Visualforce页面上。你可以使用``或``等标签来展示搜索结果。 ### 示例代码 以下是一个简单的示例,展示了如何在Visualforce页面中集成SOSL搜索: ```apex // Apex控制器 public class SearchController { public String searchTerm { get; set; } public List&gt; searchResults { get; set; } public void performSearch() { searchResults = [FIND :searchTerm IN ALL FIELDS RETURNING Account(Name), Contact(FirstName, LastName)]; } } ``` ```html ``` 在这个示例中,用户可以在输入框中输入搜索词,点击“Search”按钮后,页面会调用Apex控制器中的`performSearch`方法,执行SOSL搜索,并将结果显示在页面上。 ### 总结 通过将SOSL搜索集成到Visualforce页面中,你可以为用户提供一个强大的搜索功能,帮助他们快速找到所需的信息。记住,SOSL非常适合跨对象搜索,而通配符则可以让搜索更加灵活。希望这些内容对你有所帮助!

    查看详情
  • 27

    Module Agenda - 490

    第 490 页

    今天我们来聊聊Salesforce中的列表控制器和SOSL查询。这个模块的内容非常实用,能帮助你在Salesforce中更高效地处理数据。 首先,我们会学习如何使用标准列表控制器。这个控制器是Salesforce提供的一个内置工具,它可以帮助你轻松地展示和管理数据列表。比如,你可以用它来显示一组客户记录,或者展示某个特定项目的任务列表。标准列表控制器非常强大,而且使用起来也很简单,你只需要在Visualforce页面中引用它,就可以自动获取和处理数据了。 接下来,我们会学习如何编写简单的SOSL查询。SOSL是Salesforce Object Search Language的缩写,它是一种用于在多个对象中搜索数据的查询语言。与SOQL(Salesforce Object Query Language)不同,SOSL可以在多个对象中同时搜索数据,非常适合用于全局搜索的场景。我们会通过一些简单的例子,来帮助你理解如何编写SOSL查询,并且如何在你的应用中使用它。 然后,我们会进入创建自定义列表控制器的部分。虽然标准列表控制器已经非常强大,但有时候你可能需要更灵活的控制方式。这时候,自定义列表控制器就派上用场了。我们会教你如何从头开始创建一个自定义列表控制器,并且如何根据你的需求来定制它的行为。通过自定义列表控制器,你可以实现更复杂的数据处理逻辑,比如过滤、排序、分页等等。 最后,我们会把这些知识综合起来,应用到实际的场景中。我们会创建一个“收件箱”应用,这个应用会使用列表控制器和SOSL查询来展示和管理用户的邮件或任务。通过这个项目,你可以把前面学到的知识融会贯通,并且在实际开发中应用它们。 好了,这就是我们今天要学习的内容。希望你能通过这些课程,掌握Salesforce中列表控制器和SOSL查询的使用技巧,并且能够在实际项目中灵活运用它们。如果你有任何问题,随时可以问我,我们一起来解决。

    查看详情
  • 28

    Creating a Simple Search Page

    第 491 页

    同学们,今天我们来学习如何在Salesforce中创建一个简单的搜索页面。这个页面的功能是让用户能够在联系人对象的所有文本字段中进行搜索,并将搜索结果以表格的形式展示出来。 首先,我们需要明确几个关键点: 1. ,对象选择,:我们选择的是“联系人”对象,这是Salesforce中常用的标准对象之一。 2. ,搜索字段,:我们需要搜索联系人对象上的所有文本字段。这意味着我们需要动态地获取这些字段,而不是硬编码。 3. ,结果显示,:搜索结果需要以表格的形式展示,这样用户可以一目了然地看到相关信息。 接下来,我们一步步来实现这个功能。 ### 第一步:创建Visualforce页面 我们首先需要创建一个Visualforce页面。Visualforce是Salesforce提供的一种用于构建用户界面的框架。 ```apex ``` 在这个页面中,我们有一个输入框用于输入搜索关键词,一个按钮用于触发搜索操作,以及一个表格用于展示搜索结果。 ### 第二步:创建Apex控制器 接下来,我们需要创建一个Apex控制器来处理搜索逻辑。 ```apex public class ContactSearchController { public String searchKeyword { get; set; } public List searchResults { get; set; } public ContactSearchController() { searchResults = new List(); } public void search() { if (String.isNotBlank(searchKeyword)) { String searchQuery = &#39;FIND :searchKeyword IN ALL FIELDS RETURNING Contact(Id, Name, Email, Phone)&#39;; List&gt; searchList = search.query(searchQuery); searchResults = (List) searchList[0]; } else { searchResults.clear(); } } } ``` 在这个控制器中,我们定义了一个`searchKeyword`属性来存储用户输入的关键词,以及一个`searchResults`列表来存储搜索结果。`search`方法使用Salesforce的SOSL(Salesforce Object Search Language)来在所有文本字段中搜索联系人,并将结果存储在`searchResults`中。 ### 第三步:测试和部署 最后,我们需要测试这个页面,确保它能够正常工作。你可以在Salesforce的开发者控制台中预览这个页面,输入关键词并点击搜索按钮,看看是否能正确返回结果。 如果一切正常,你就可以将这个页面部署到生产环境中,供用户使用了。 ### 总结 通过以上步骤,我们成功创建了一个简单的搜索页面,用户可以在联系人对象的所有文本字段中进行搜索,并以表格的形式查看结果。这个页面虽然简单,但涵盖了Visualforce页面的创建、Apex控制器的编写以及SOSL的使用,是学习Salesforce开发的一个很好的起点。 希望这个讲解对你们有所帮助,如果有任何问题,欢迎随时提问!

    查看详情
  • 29

    Creating a Custom List Controller

    第 492 页

    让我们来聊聊自定义列表控制器。想象一下,你有一个魔法盒子,这个盒子可以帮助你管理和展示一系列的数据记录。在Salesforce中,这个魔法盒子就是我们的列表控制器。 通常,我们会使用标准的列表控制器来管理数据,但有时候,我们需要更多的灵活性。这时候,自定义列表控制器就派上用场了。它继承了标准SetController类的所有功能,这意味着你可以使用所有标准的方法,比如翻页、选择记录等。 但自定义列表控制器的特别之处在于,你可以使用自定义的记录列表,或者通过SOSL、SOQL查询来获取记录集。这就像是你不仅可以打开魔法盒子,还可以决定盒子里装什么。 而且,你还可以在自定义列表控制器中添加你自己的方法。这就像是在魔法盒子上加装了一些特别的按钮,按下去就能执行你想要的特定操作。 所以,自定义列表控制器不仅继承了标准的功能,还给了你更多的自由和力量,让你能够更灵活地管理和展示你的数据。在下一张幻灯片上,我们会具体展示如何做到这一点。

    查看详情
  • 30

    Instantiating the StandardSetController Class

    第 493 页

    今天我们来聊聊Salesforce中的StandardSetController类。这个类在开发中非常有用,特别是当你需要处理一组记录时,比如在列表视图或批量操作中。 首先,StandardSetController有一个重要的限制:它最多只能处理10,000条记录。如果你尝试用返回超过10,000条记录的查询定位器来实例化StandardSetController,系统会抛出一个叫做LimitResponse的异常。这意味着你不能直接处理超过10,000条记录的结果集。 但是,这里有一个小技巧。如果你用一个包含超过10,000条记录的列表来实例化StandardSetController,系统不会抛出异常。相反,它会自动把记录截断到10,000条。也就是说,只有前10,000条记录会被包含在StandardSetController中,剩下的记录会被忽略。 所以,当你使用StandardSetController时,一定要记住这个限制。如果你需要处理大量记录,可能需要考虑其他方法,比如分批处理或者使用更高效的查询策略。 希望这个解释对你有帮助!如果你有任何问题,随时问我。

    查看详情
  • 31

    Passing in User Input

    第 494 页

    让我们来聊聊这个控制器的摘录。在这个例子中,学生们正在学习如何使用用户输入的字符串来构建一个SOSL查询,从而获取联系人列表。 首先,SOSL是Salesforce Object Search Language的缩写,它是一种在Salesforce中搜索多个对象的强大工具。与SOQL(Salesforce Object Query Language)不同,SOSL可以同时搜索多个对象,并且它更适合处理全文搜索。 在这个控制器中,学生们会获取用户输入的字符串,比如一个名字或者一个关键词。然后,他们会使用这个字符串来构建一个SOSL查询。这个查询会在Salesforce中搜索联系人对象,找到与用户输入相匹配的记录。 举个例子,如果用户输入了“John”,那么SOSL查询可能会是这样的: ```apex List&gt; searchList = [FIND &#39;John&#39; IN ALL FIELDS RETURNING Contact(Name, Email)]; ``` 这个查询会在所有字段中搜索“John”,并返回匹配的联系人记录,包括他们的名字和电子邮件。 通过这种方式,学生们可以学习如何动态地根据用户输入来构建查询,并且理解SOSL在Salesforce中的应用场景。这不仅帮助他们掌握技术细节,还能让他们更好地理解如何在实际项目中应用这些知识。 希望这个解释对你有帮助!如果有更多问题,随时问我哦。

    查看详情
  • 32

    18-3: Create a Simple Search Page

    第 495 页

    我们来一步步完成这个任务。首先,我们需要创建一个简单的搜索页面,这个页面将允许用户输入搜索词,然后显示匹配的联系人列表。我们将使用Visualforce页面和自定义控制器来实现这个功能。 ### 第一步:编写自定义控制器 首先,我们需要编写一个Apex类作为自定义控制器。这个控制器将处理用户的搜索请求,并返回匹配的联系人列表。 ```apex public class ContactSearchController { // 定义一个公共变量来存储用户输入的搜索词 public String searchTerm { get; set; } // 定义一个公共变量来存储搜索结果 public List searchResults { get; set; } // 构造函数 public ContactSearchController() { searchResults = new List(); } // 搜索方法 public void search() { if (String.isNotBlank(searchTerm)) { // 使用SOSL进行搜索 List&gt; searchResultsList = [FIND :searchTerm IN ALL FIELDS RETURNING Contact(Id, Name, Email)]; searchResults = (List) searchResultsList[0]; } else { searchResults.clear(); } } } ``` ### 第二步:创建Visualforce页面 接下来,我们需要创建一个Visualforce页面来显示搜索框和搜索结果。 ```html ``` ### 第三步:测试新页面 1. 保存并部署你的Apex类和Visualforce页面。 2. 在Salesforce中,导航到“设置” -&gt; “开发” -&gt; “Visualforce页面”。 3. 找到你刚刚创建的页面,点击“预览”按钮。 4. 在搜索框中输入一个搜索词,比如“John”,然后点击“搜索”按钮。 5. 你应该会看到一个包含匹配联系人的列表。 ### 总结 通过这个简单的任务,我们创建了一个可以搜索联系人的Visualforce页面,并使用自定义控制器来处理搜索逻辑。这个页面可以很容易地扩展和定制,以满足更多的业务需求。 希望这个讲解对你有帮助!如果有任何问题,随时问我。

    查看详情
  • 33

    Key Takeaways - 496

    第 496 页

    让我们来聊聊Salesforce中的几个关键概念,我会尽量用简单的方式来解释。 首先,,标准列表控制器,。这个工具非常有用,特别是当你需要创建一个Visualforce页面来显示和操作一组记录时。它比普通的控制器更强大,因为它提供了额外的翻页功能,这意味着你可以轻松地在记录之间前后翻页。 接下来是,filterId,。这是一个设置,允许你过滤列表控制器中显示的记录。想象一下,你有一大堆记录,但你只想看到符合特定条件的那些,filterId就能帮你做到这一点。 然后是,SOSL,,全称是Salesforce Object Search Language。这个工具非常酷,因为它允许开发人员同时搜索多个对象中的文本、电子邮件、URL和电话字段。SOSL查询的结果是一个sObjects列表的列表,这意味着你可以使用多个for循环来处理这些数据。 最后,,自定义列表控制器,。这是基于SOQL查询或自定义记录列表创建的。SOQL是Salesforce Object Query Language的缩写,它允许你从Salesforce数据库中检索数据。通过自定义列表控制器,你可以更灵活地控制哪些记录显示在你的Visualforce页面上。 总结一下,标准列表控制器、filterId、SOSL和自定义列表控制器都是Salesforce开发中非常有用的工具,它们帮助你更有效地管理和展示数据。希望这些解释对你有帮助!

    查看详情
  • 34

    Knowledge Check - 497

    第 497 页

    让我们来聊聊Salesforce中的SOSL搜索和一些相关的知识点。首先,SOSL是一种非常强大的搜索工具,它可以帮助我们在Salesforce中查找信息。SOSL可以搜索任何被标记为可搜索的文本字段,这包括电子邮件和电话字段。但是,它不能搜索关系字段、数字字段、日期字段或复选框字段。 接下来,我们来看看自定义列表控制器。这个控制器可以基于SOSL搜索、SOQL查询或s对象列表来工作。这意味着你可以根据不同的需求来定制你的搜索和查询方式。 关于SOSL搜索的返回类型,它只有一种可能的返回类型,那就是s对象列表列表。这个列表包含了搜索返回的每个对象的一个sBody列表。你可以使用多个for循环来处理这些列表,这样就可以迭代每个sBody列表,获取你需要的信息。 最后,我们来看看在标记中如何使用recordSetVar属性。当你在标签中包括recordSetVar属性时,这告诉页面使用标准列表控制器,而不是对象的常规控制器。recordSetVar属性的值会成为你在页面中引用显示的记录列表的属性的名称。这样,你就可以更方便地管理和显示你的数据了。 希望这些信息能帮助你更好地理解Salesforce中的SOSL搜索和相关功能。如果你有任何问题,随时问我哦!

    查看详情