Прямо сейчас ошибка, которую я получаю, поле Неверное проверено для sObject People_Language__c.Salesforce - использование jQuery для удаления строк таблицы с помощью флажка
Не уверен, что это не нравится использование класса-оболочки или что-то, но я не вижу проблемы.
Вот контроллер
public with sharing class myClass {
public String pId {get; set;}
public list<Wrapper>pLanguages {get; set;}
//CONSTRUCTOR
public myClass(){
pId = ApexPages.CurrentPage().getparameters().get('id');
pLanguages = new List<Wrapper>();
for (People_Language__c pl : [SELECT Id, Language__c, Fluency__c FROM People_Language__c WHERE Person__c=:pId]) {
pLanguages.add(new Wrapper(pl));
}
}
public void deleteLanguage(){
List<People_Language__c> langsToDelete = new List<People_Language__c>();
for (Integer i = 0; i < pLanguages.size(); i++) {
if (pLanguages[i].checked) {
langsToDelete.add(pLanguages.remove(i--).pl);
}
}
delete langsToDelete;
}
//WRAPPER
public class Wrapper {
public boolean checked {get; set;}
public People_Language__c pl {get; set;}
public Wrapper(People_Language__c pl) {
this.pl = pl;
this.checked = false;
}
}
}
Visualforce
<apex:pageBlock title="Language" id="language">
<apex:inputHidden id="delLanguage" value="{!languagesToDelete}"></apex:inputHidden>
<apex:pageBlockButtons location="top">
<apex:commandButton id="langNewBtn" value="{!$Label.New}" />
<apex:commandButton id="LangDel" value="{!$Label.del2}" action="{!deleteLanguage}" rerender="language"/>
</apex:pageBlockButtons>
<apex:pageBlockTable value="{!pLanguages}" var="lang" title="People Language">
<apex:column width = "25px">
<apex:inputCheckbox value="{!lang.checked}" />
</apex:column>
<apex:column styleClass="actionColumn" width = "25px">
<apex:facet name="header"> <apex:outputText value="Action" /> </apex:facet>
<apex:outputLink styleClass="actionLink" target="_top">Del</apex:outputLink>
</apex:column>
<apex:column >
<apex:facet name="header"> <apex:outputText value="Language" /> </apex:facet>
<apex:outputField value="{!lang.pl.Language__c}" />
</apex:column>
<apex:column >
<apex:facet name="header"> <apex:outputText value="Fluency" /> </apex:facet>
<apex:outputField value="{!lang.pl.Fluency__c}" />
</apex:column>
</apex:pageBlockTable>
</apex:pageBlock>
langsToDelete.add (pLanguages.remove (i--)); Дает несовместимую оболочку ошибок типов для People_language__c –
Обновлен мой ответ, дайте это сейчас. – JCD
Теперь я получаю недопустимое поле «checked» для sObject People_Language__c. Я застрял на этом больше дня. –