apex - 在 Visualforce 中使用带有 SelectOption 的复选框和单选按钮
问题描述
我目前在编译时收到一个错误,因为无法找到从我的 SelectOption 返回选项的条件列表()。我的印象是单选按钮和复选框使用相同的技术,但显然不是?
我尝试使用与单选按钮相同的语法,它们确实可以自己工作。但是由于某种原因,复选框出现了问题。
我在 VFP 上的单选按钮看起来像这样
<apex:selectRadio value="{!tenlan}" layout="PageDirection" >
<apex:selectOptions value="{!consumerList}"/>
</apex:selectRadio>
所以我的复选框也做了同样的事情
<apex:selectCheckboxes value="{!bbt}" layout="PageDirection">
<apex:selectOptions value="{!criteriaList}"/>
</apex:selectCheckboxes>
至于控制器。我像这样处理单选按钮:
public List<SelectOption> getconsumerList(){
List<SelectOption> options = new List<SelectOption>();
options.add(new SelectOption('Tenant', 'Tenant'));
options.add(new SelectOption('Landlord', 'Landlord'));
options.add(new SelectOption('Access', 'Access'));
return options;
}
当然,我为我的复选框尝试了同样的事情。
public List<SelectOption> getcriteraList(){
List<SelectOption> options = new List<SelectOption>();
options.add(new SelectOption('bbt', 'Break Down By Trade'));
return options;
}
在这里阅读 selectCheckBoxes https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_compref_selectCheckboxes.htm
似乎这些框确实可以将字符串而不是布尔值作为 options.add()。但我不确定为什么编译器不会将标准列表作为可接受的方法。
解决方案
我可以通过启动两个单独的 selectOption 列表来避免这个问题。
public List<SelectOption>consumerList{get; set;}
public List<SelectOption>criteriaList{get; set;}
然后在构造函数中,我向它们添加了我的标准。
consumerList = new List<SelectOption>();
criteriaList = new List<SelectOption>();
consumerList.add(new SelectOption('Tenant', 'Tenant'));
consumerList.add(new SelectOption('Landlord', 'Landlord'));
consumerList.add(new SelectOption('Access', 'Access'));
criteriaList.add(new SelectOption('bbt', 'BreakDownByTrade'));
我有点难过,因为我不太确定为什么这是必要的,但它似乎确实解决了问题。
推荐阅读
- typescript - jest-mock-extended - 使用对象输入调用模拟 [Typescript]
- c - 文件处理问题求助!我不能让这个函数运行来编辑二进制 .txt 文件中的结构
- numpy - 为什么 tensorflow 需要 VC++ 而 numpy 不需要?
- java - 在xml spring批处理应用程序中复制标题标签
- vue.js - 在观察者内部调用`_.debounce`不起作用
- c++ - 我被 C++ 中的这个结构困住了
- c - ? sscanf 正则表达式中的运算符
- r - R中两个面板数据模型的fixst包中的F检验
- excel - 如何合并重复的 VBA 代码?
- codeigniter - 如何在 Codeigniter 中访问对象