在Salesforce中使用JavaScript获取Datatable中的特定行
我正在使用visualforce页面。我在页面中使用datatable,并且我在每一行中都使用了一个复选框,现在我只想得到那些复选框值为true的行,下面给出了代码在Salesforce中使用JavaScript获取Datatable中的特定行,javascript,salesforce,apex-code,visualforce,Javascript,Salesforce,Apex Code,Visualforce,我正在使用visualforce页面。我在页面中使用datatable,并且我在每一行中都使用了一个复选框,现在我只想得到那些复选框值为true的行,下面给出了代码 <apex:page controller="searchDuplicate"> <apex:pageBlock title="Searching for Duplicate Contacts Record"> <center> <apex:form> &
<apex:page controller="searchDuplicate">
<apex:pageBlock title="Searching for Duplicate Contacts Record">
<center>
<apex:form>
<apex:dataTable id="dTable" value="{!selectedContactList}" var="cn" border="1" cellpadding="5">
<apex:column headerValue="Name" value="{!cn.Name}" />
<apex:column headerValue="Email" value="{!cn.Email}" />
<apex:column headerValue="Select">
<apex:inputCheckbox/>
</apex:column>
</apex:dataTable>
<apex:commandButton value= "Delete Selected"/>
</apex:form>
</center>
</apex:pageBlock>
</apex:page>
出于许多原因,我不会为此使用JavaScript。首先,Visualforce处理在列表中跟踪组件ID。当列表包含标准或自定义对象时,处理此问题的最佳方法是使用in-Apex。然后您可以像这样访问您的值(其中c是包装的联系人):
请注意,cn.theBoolean不是cn.c.theBoolean。这是因为您的联系人记录现在包装在一个定制的Apex类中,如下所示:
public List<ContactWrapper> selectedContactList {get; set;}
// Inner-class
public class ContactWrapper
{
public Contact c {get; set;}
public Boolean theBoolean {get; set;}
public ContactWrapper(Contact c)
{
this.c = c;
}
...
public List selectedContactList{get;set;}
//内部阶级
公共类ContactWrapper
{
公共联系人c{get;set;}
公共布尔theBoolean{get;set;}
公共联系人包装器(联系人c)
{
这个.c=c;
}
...
希望有帮助。Thanx的回复是adam,但我想在datatable被另一个控制器类填充后获得datatable行的值,基本上我想选择那些选定的行,并将这些值发送回控制器类,然后处理它们请参见在我上面发送的链接处使用组件ID进行迭代。()
public List<ContactWrapper> selectedContactList {get; set;}
// Inner-class
public class ContactWrapper
{
public Contact c {get; set;}
public Boolean theBoolean {get; set;}
public ContactWrapper(Contact c)
{
this.c = c;
}
...