Salesforce 如何链接Visualforce中SelectCheckBox组件中的标签?

Salesforce 如何链接Visualforce中SelectCheckBox组件中的标签?,salesforce,apex-code,visualforce,Salesforce,Apex Code,Visualforce,我的Visualforce页面中有一个组件,它从Apex方法获取选择选项。我想有一个标签,每个复选框旁边都显示一个链接。我怎样才能做到这一点?请提供帮助。实现这一点的一种方法是单独使用apex:inputCheckbox控件,而不是依赖selectcheckbox来为您执行所有渲染。在建议中很难得到更具体的答案,因为这个问题可以用很多方法来回答 例如,如果需要这些复选框与SObject实例一起出现在列表中,请创建一个包装器类。如果它们本质上是点菜式的,则可以创建一个包含布尔值的类,并创建该类的实

我的Visualforce页面中有一个组件,它从Apex方法获取选择选项。我想有一个标签,每个复选框旁边都显示一个链接。我怎样才能做到这一点?请提供帮助。

实现这一点的一种方法是单独使用apex:inputCheckbox控件,而不是依赖selectcheckbox来为您执行所有渲染。在建议中很难得到更具体的答案,因为这个问题可以用很多方法来回答

例如,如果需要这些复选框与SObject实例一起出现在列表中,请创建一个包装器类。如果它们本质上是点菜式的,则可以创建一个包含布尔值的类,并创建该类的实例列表。然后创建dataTable、pageBlockTable等,并在其中一列中包含复选框组件。或者简单地使用apex:如果不需要任何其他表格格式,请重复

以下是VF指南中的重复示例:

<!-- Page: -->
<apex:page controller="repeatCon" id="thePage">
   <apex:repeat value="{!strings}" var="string" id="theRepeat">
      <apex:outputText value="{!string}" id="theValue"/><br/>
   </apex:repeat>
</apex:page>

/*** Controller: ***/
public class repeatCon 
{
   public String[] getStrings() 
   {
      return new String[]{'ONE','TWO','THREE'};
   }
}
将outputText替换为inputCheckbox,将字符串数组替换为Boolean。然后简单地从一个apex:outputLink开始,并在其后添加复选框

编辑- 下面是一个使用类来完成任务的示例

顶点:

视觉力:

<apex:form>
   <apex:pageBlock>
      <apex:pageBlockTable value="{!theCheckboxes}" var="item">
         <apex:column headerValue="The Checkboxes">
            <apex:inputCheckbox value="{!item.theCheckbox}">
         </apex:column>
      </apex:pageBlockTable>
   </apex:pageBlock>
</apex:form>

我还没有测试过这个,但这是我相信您正在寻找的想法。

是的,包装器肯定是这个想法的未来方向。另一种方法可能是使用jQuery将标签转换为链接,或插入链接,但在我看来,使用包装器会更省力。谢谢帮助。但是如果我使用InputCheckBox,我想用控制器中的数组引用它们的值,而不是单个变量。如何做这是您的数组:public List the checkbox{get;private set;}//参考此阵列他们感谢大家的回复。最后,我使用javascript完成了此操作,因为我想使用SelectCheckBox使事情变得更简单
<apex:form>
   <apex:pageBlock>
      <apex:pageBlockTable value="{!theCheckboxes}" var="item">
         <apex:column headerValue="The Checkboxes">
            <apex:inputCheckbox value="{!item.theCheckbox}">
         </apex:column>
      </apex:pageBlockTable>
   </apex:pageBlock>
</apex:form>