嗨我想在visualforce中创建一个这样的界面
其中第一列中的值将来自顶点控制器
请给出一些在visualforce中执行此操作的想法。此外,用户将移动到第二列的值将保存在某处。我正在考虑使用自定义设置,所有可用的选项都有哪些。
谢谢
嗨我想在visualforce中创建一个这样的界面
其中第一列中的值将来自顶点控制器
请给出一些在visualforce中执行此操作的想法。此外,用户将移动到第二列的值将保存在某处。我正在考虑使用自定义设置,所有可用的选项都有哪些。
谢谢
不幸的是,利用您在 VisualForce 中描述的功能的唯一方法是使用<apex:inputField>
绑定到 SObject 上的多选项列表字段的标签。此选项为您提供了保存数据的位置,尽管您需要事先在配置中指定可能的值(这听起来不像您想要的那样)。
如果要动态填充值,则需要在控制器中创建 SelectOptions 列表并将该列表绑定到<apex:selectlist>
具有属性集的标记multiselect
(请记住,这不会给您提供花哨的左右箭头您在屏幕截图中显示,但它允许用户通过 shift/ctrl-clicking 选择多个选项)。
VisualForce 片段:
<apex:selectList value="{!multiPicklistVal}" multiselect="true">
<apex:selectOptions value="{!multiPicklistOptions}"/>
</apex:selectList>
Apex 控制器片段:
public String[] multiPicklistVal {public get; public set;}
public List<SelectOption> getMultiPicklistOptions() {
List<SelectOption> opts = new List<SelectOption>();
opts.add(new SelectOption('Red', 'Red'));
opts.add(new SelectOption('Green', 'Green'));
opts.add(new SelectOption('Blue', 'Blue'));
return opts;
}
这种方法将允许您multiPicklistVal
在操作方法中将其作为字符串数组进行引用,其中每个字符串都已由用户选择。从这里,您可以将它们保存在您提到的自定义设置中,或者保存在自定义对象中(但如果您要使用自定义对象路线,您也可以使用我的开箱即用功能在这篇文章的顶部描述)。