上一篇我们创建了一个简单的Flow,并配置到PageLayout中,表示固定文言Hello World,Flow不仅限于表示固定文言,还可以通过ApexClass从Object之中取得,下边我先创建一个ApexClass,取得Contact表中的LastName和Email 用来显示在画面上,学习如何通过Flow表示到画面上。
1.创建一个ApexClass
ApexClass代码如下,把数据保存到返回值【list<Results>】之中。
代码语言:javascript复制global with sharing class filterContact {
public filterContact() {
}
public class FlowActionException extends Exception {}
global list<Results> result{get;set;}
@InvocableMethod
public static list<Results> filter() {
list<Contact> lstCon = [select id, LastName, Email from contact];
list<string> strlist = new list<string>();
for(contact con : lstCon){
string str1 = '<br/>' con.Lastname ':' con.email;
strlist.add(str1);
}
List<Results> rsts = new List<Results>();
Results rst = new Results();
rst.filteredContactCollection = lstCon;
rst.contactDataList = strlist;
rsts.add(rst);
return rsts;
}
global class Results {
@InvocableVariable
global Contact[] filteredContactCollection;
@InvocableVariable
global string[] contactDataList;
}
}
2.创建Flow
在画布中拖拽一个Action,并选择上边创建的ApexClass
输入ApiName和Label名称
这里设置ApexClass的两个返回值【contactDataList】,【filteredContactCollection】,注意类型要和ApexClass中一致。
变量contactDataList
变量filteredContactCollection
连接开始和Action
在画布中拖拽一个Screen,用来显示取得的结果
利用变量【contactDataList】,显示LastName,Email,变量【filteredContactCollection】这里暂时不使用。
连接Action和Screen,最后保存。