我创建了一个自定义的 visualforce 页面。在控制器类中,我想在下拉列表中获取所有工作区的列表,以便用户可以选择发布数据的位置
有人可以为我提供一些关于如何实现这一目标的指导。
任何帮助表示赞赏。:)
我创建了一个自定义的 visualforce 页面。在控制器类中,我想在下拉列表中获取所有工作区的列表,以便用户可以选择发布数据的位置
有人可以为我提供一些关于如何实现这一目标的指导。
任何帮助表示赞赏。:)
您需要查询内容工作区,然后将它们放入选择选项列表中,然后可以在 visualforce 页面中引用该列表。
顶点控制器:
public Id selectedWorkspaceId { get; set; }
private List<SelectOption> workspaceOptions;
public List<SelectOption> getWorkspaceOptions() {
if(workspaceOptions == null) {
for(ContentWorkSpace workspace : [select id, name from ContentWorkspace]) {
workspaceOptions.addNewSelectOption(
new SelectOption(workspace.id, workspace.name);
}
}
}
return workspaceOptions;
}
视觉力量页面:
<apex:selectList value="{!selectedWorkspaceId}" size="1">
<apex:selectOptions value="{!workspaceOptions}"/>
</apex:selectList>
文档:
下面是用于在 Salesforce CRM Content 中查询工作区列表的 Java 代码(来自代码接收)。将下面的代码翻译成顶点,它应该可以工作。
package com.sforce;
import org.apache.axis.client.Stub;
import com.sforce.soap.enterprise.*;
import com.sforce.soap.enterprise.sobject.*;
public class QueryWorkspace {
/**
* @param args
*/
public static void main(String[] args) {
QueryWorkspace queryWorkspace = new QueryWorkspace();
try {
queryWorkspace.queryAvailableWorkspaces();
} catch (Exception ex) {
ex.printStackTrace(System.err);
}
}
private void queryAvailableWorkspaces() throws Exception {
SforceServiceLocator sforceServiceLocator
= new SforceServiceLocator();
SoapBindingStub binding
= (SoapBindingStub) sforceServiceLocator.getSoap();
// Login
LoginResult lr = binding.login("user@jstest.org",
"password");
binding._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY,
lr.getServerUrl());
// Create a session header for subsequent calls
_SessionHeader sessionHeader = new _SessionHeader();
sessionHeader.setSessionId(lr.getSessionId());
binding.setHeader(sforceServiceLocator.getServiceName()
.getNamespaceURI(), "SessionHeader",
sessionHeader);
QueryResult query
= binding.query("select Id, Name from"
+ " ContentWorkspace");
SObject[] records = query.getRecords();
if (records != null) {
for (int i = 0; i < records.length; i++) {
ContentWorkspace contentWorkspace =
(ContentWorkspace)records[i];
System.out.println("Workspace Id:"
+ contentWorkspace.getId() + " Name:"
+ contentWorkspace.getName());
}
}
}
}