Как передать значения поля в класс вершины с помощью командной кнопки?

Мне нужно передать значение поля id в класс вершины, чтобы удалить эту строку с помощью командной кнопки.

Класс:

public class search_delete
{
public string id {get;set;}
public list<account> acc{get;set;}
public search_delete()
{
    acc = new list<account>();        
    acc = [SELECT id,name,phone,industry from account];

}
public void delete_record()
{

acc = [SELECT name,phone,industry from account where id = :id];

delete acc;
}
}

Вице-президент:

<apex:page controller="search_delete" >
 <apex:form >
     <apex:pageBlock >
         <apex:pageBlockTable value="{!acc}" var="a">
         <apex:column value="{!a.Name}"/>
         <apex:column value="{!a.Phone}"/>
         <apex:column value="{!a.Industry}"/>         
         <apex:column >
             <apex:commandButton value="Delete" Action="{!delete_record}">
                 <apex:param name="accId" value="{!a.id}"/>
             </apex:commandButton>
         </apex:column>
         </apex:pageBlockTable>
     </apex:pageBlock>     
 </apex:form> 
</apex:page>

Теперь мне нужно передать значение идентификатора классу вершины со страницы Vp, нажав кнопку удаления. Мои результаты


person Ragul    schedule 18.10.2016    source источник


Ответы (1)


используйте свойство assignto командной кнопки apex.

<apex:page controller="search_delete" >
<apex:form >
 <apex:pageBlock >
     <apex:pageBlockTable value="{!acc}" var="a">
     <apex:column value="{!a.Name}"/>
     <apex:column value="{!a.Phone}"/>
     <apex:column value="{!a.Industry}"/>         
     <apex:column >
         <apex:commandButton value="Delete" Action="{!delete_record}">
            <apex:param name="accId" value="{!a.id}" assignto="{!idchosen}/>
         </apex:commandButton>
     </apex:column>
     </apex:pageBlockTable>
 </apex:pageBlock>     
</apex:form> 

public class search_delete
{
public string id {get;set;}
public string idchosen {get;set;}
public list<account> acc{get;set;}
public search_delete()
{
  acc = new list<account>();        
 acc = [SELECT id,name,phone,industry from account];

}
public void delete_record()
{

acc = [SELECT name,phone,industry from account where id = :idchosen];

delete acc;
}
}
person Krish Gambhir    schedule 18.10.2016