Регистрация  |  Вход

Очередные камни. picklict and related field VFpage

Доброго времени суток. Исследование продолжаются.
Уперся в парочку камней. Может кто подтолкнет.

1. Не могу сообразить как в VFpage закодить филд пиклиста при создании новой записи. Т.е. обычные текстовые филды описывал через инпут текст по типу:" Last Name <apex:inputText value="{!lastName}" />". Подозреваю что надо использовать </apex:selectList>
, но не могу понять как.

apex:page standardController="Contact"  recordSetVar="contacts" extensions="TestPopup">    
<apex:form >
<apex:pageBlock title="Contacts List" id="contacts_list">
<!-- PopUp-->
<apex:commandButton value="New Contact" action="{!showPopup}" rerender="popup" status="status" />
<apex:outputPanel id="popup">
<apex:outputPanel id="popInnerOutputPnl" styleClass="customPopup" layout="block" rendered="{!displayPopUp}">
<apex:pageblockSection >
First Name <apex:inputText value="{!firstname}" />
Last Name <apex:inputText value="{!lastName}" />
Email <apex:inputText value="{!email}" />
Account <apex:inputText value="{!name}" />
</apex:pageblockSection>
<apex:commandButton value="Cancel" title="Close the popup" action="{!closePopup}" styleClass="closeButton" rerender="popup">
</apex:commandButton>
<apex:commandButton value="Saveq" action="{!saveq}" styleClass="closeButton" rerender="popup">
</apex:commandButton>
</apex:outputPanel>
</apex:outputPanel>
.........
.....
</apex:page>

контроллер

public with sharing class TestPopup {

public Boolean displayPopup {get;set;}
//write field
public String firstName{get;set;}
public String lastName{get;set;}
public String Email{get;set;}
public String Name{get;set;}

public TestPopup(ApexPages.StandardsetController controller) {
}

public void showPopup()
{
displayPopup = true;
}

public void closePopup() {
displayPopup = false;
}
//INSERT and SAVE records
public pageReference Saveq(){
Contact con = new Contact(firstname = firstname, lastname = lastname, Email = Email);
insert con;
Account Acnt = new Account(name = name);
insert Acnt;
return null;
}
}

2. Kак связать филды name аккаунта с контактом. При нажатии на кнопку "new contact" заполняются фирстНэйм, Ласт, Емаил, связаный Акаунт и ещё надо добавить кастомный филд с типом пиклист.

Прошу прощения если не очень понятно изьяснясь.

Доброго времени суток. Исследование продолжаются. 
Уперся в парочку камней. Может кто подтолкнет. 

1. Не могу сообразить как в VFpage закодить филд пиклиста при создании новой записи. Т.е. обычные текстовые филды описывал через инпут текст по типу:" Last Name <apex:inputText value="{!lastName}" />". Подозреваю что надо использовать </apex:selectList>
, но не могу понять как.

[code] apex:page standardController="Contact"  recordSetVar="contacts" extensions="TestPopup">    
    <apex:form >        
        <apex:pageBlock title="Contacts List" id="contacts_list">
            <!-- PopUp-->
            <apex:commandButton value="New Contact" action="{!showPopup}" rerender="popup" status="status" />            
            <apex:outputPanel id="popup">                
                <apex:outputPanel id="popInnerOutputPnl" styleClass="customPopup" layout="block" rendered="{!displayPopUp}">                  
                    <apex:pageblockSection >                        
                        First Name <apex:inputText value="{!firstname}" />
                        Last Name <apex:inputText value="{!lastName}" />
                       	Email <apex:inputText value="{!email}" />    
                        Account <apex:inputText value="{!name}" />  
                    </apex:pageblockSection>
                    <apex:commandButton value="Cancel" title="Close the popup" action="{!closePopup}" styleClass="closeButton" rerender="popup">
                    </apex:commandButton>
                    <apex:commandButton value="Saveq" action="{!saveq}" styleClass="closeButton" rerender="popup">
                    </apex:commandButton>
                </apex:outputPanel>
            </apex:outputPanel>
.........
.....
</apex:page>[/code]
контроллер

[code]public with sharing class TestPopup {
    
    public Boolean displayPopup {get;set;}
    //write field
    public String firstName{get;set;}
    public String lastName{get;set;}
    public String Email{get;set;}
    public String Name{get;set;}
        
    public TestPopup(ApexPages.StandardsetController controller) {       
    }
    
    public void showPopup()
    {        
        displayPopup = true;
    }
    
    public void closePopup() {
        displayPopup = false;        
    }
    //INSERT and SAVE records
    public pageReference Saveq(){
    Contact con = new Contact(firstname = firstname, lastname = lastname, Email = Email);
    insert con;
        Account Acnt = new Account(name = name);
    insert Acnt;
    return null;
    }    
}[/code]

2. Kак связать филды name аккаунта с контактом. При нажатии на кнопку "new contact" заполняются фирстНэйм, Ласт, Емаил, связаный Акаунт и ещё надо добавить кастомный филд с типом пиклист.

Прошу прощения если не очень понятно изьяснясь.

используй inputField вместо inputText
а по хорошему если учишь с нуля то лучше учи лайтнинг какой

используй inputField вместо inputText
а по хорошему если учишь с нуля то лучше учи лайтнинг какой 

Андрей
а по хорошему если учишь с нуля то лучше учи лайтнинг какой

Кстати согласен. Очень интересный момент. Чистый VF уже не практикуется в проектах года 3 точно. Да, есть старые проекты, но за это время большенство либо начали переписывать на Lightning либо находятся в стадии простой поддержки без внедрения новый логики. Для умирающего VF спецов спецов выше крыши. Так зачем заставлять новичков учить то что большой вероятностью им не понадобится. Хотя как вариант проверить навыки обучаемости и если справится с VF значит и Lightning осилит? Согласен, я бы уже не стал VF затрагивать для нового поколения. Ладно еще наклепать inline страницу на скорую руку для вывода информации. Но пилить inputField и делать rerender это вообще из разряда сходить в музей. Неужели еще кто-то беспокоиться о размере ViewState?

[quote="Андрей"]а по хорошему если учишь с нуля то лучше учи лайтнинг какой[/quote]
Кстати согласен. Очень интересный момент. Чистый VF уже не практикуется в проектах года 3 точно. Да, есть старые проекты, но за это время большенство либо начали переписывать на Lightning либо находятся в стадии простой поддержки без внедрения новый логики. Для умирающего VF спецов спецов выше крыши. Так зачем заставлять новичков учить то что большой вероятностью им не понадобится. Хотя как вариант проверить навыки обучаемости и если справится с VF значит и Lightning осилит? Согласен, я бы уже не стал VF затрагивать для нового поколения. Ладно еще наклепать inline страницу на скорую руку для вывода информации. Но пилить inputField и делать rerender это вообще из разряда сходить в музей. Неужели еще кто-то беспокоиться о размере ViewState? :D :D :D