Apex, Visual force: 제작 취소 버튼, 저장 버튼, 적용 버튼

13408 단어 APEXvisualforcetech

개시하다


"표준 컨트롤러를 사용하지 않고 사용자 정의 컨트롤러로 Visual force 페이지를 만들고 싶어요. 그런데 Save/Cancel의 행동을 몰라요. 어떻게 하면 좋을까요?"
그런 사람을 향한 기사입니다.
과거의 자신을 향한 것이다.

샘플용 Visual force


<apex:page controller="CustomControllerTest">
    <apex:form >
        <apex:pageBlock title="取引先編集画面">    
            <apex:pageBlockTable title="acc" value="{!acc}" var="acc">
                <apex:column headerValue="Id" >
                    <apex:inputField value="{!acc.Id}"/>
                </apex:column>
                <apex:column headerValue="Name" >
                    <apex:inputField value="{!acc.Name}"/>
                </apex:column>
            </apex:pageBlockTable>        
        </apex:pageBlock>
<apex:commandButton action="{!save}" Value="保存"/>
<apex:commandButton action="{!quicsave}" Value="適用"/>
<apex:commandButton action="{!cancel}" Value="キャンセル"/>
    </apex:form>

</apex:page>

화면 이미지



샘플용 사용자 정의 컨트롤러 (전체)


public class CustomControllerTest {
	public Id accountId;	//取引先のID
    public Account acc {get;set;}
    //コンストラクタ
    public CustomControllerTest() {
		accountId = ApexPages.currentPage().getParameters().get('id');
		acc = [Select id, Name  from Account where Id = :accountId];
    }
    
//キャンセル処理
public PageReference cancel() {
	String prevURL = '/' + accountId;
	PageReference pageRef = new PageReference(prevURL);
	return pageRef;
}
//保存処理
public PageReference save() {
	upsert acc;
	String prevURL = '/' + accountId;
	PageReference pageRef = new PageReference(prevURL);
	return pageRef;
}
    //適用処理
public PageReference quicsave() {
	upsert acc;
	return null;
}
}

해설


취소 버튼


//キャンセル処理
public PageReference cancel() {
	String prevURL = '/' + accountId;
	PageReference pageRef = new PageReference(prevURL);
	return pageRef;
}
아무것도 하지 않고 PageReference로 다른 URL에 답장하면 페이지가 이동합니다.
Visualforce의 페이지 URL을 사용하여 화면 재설정을 수행할 수도 있습니다.

동작 이미지



저장 버튼


//保存処理
public PageReference save() {
	upsert acc;
	String prevURL = '/' + accountId;
	PageReference pageRef = new PageReference(prevURL);
	return pageRef;
}
기록을 보존하다.
PageReference에서 레코드의 ID를 전달하면 레코드 화면으로 이동합니다.

동작 이미지



버튼 적용


    //適用処理
public PageReference quicsave() {
	upsert acc;
	return null;
}
기록을 보존하다.
null로 되돌려줍니다. 처리 후 페이지 이동을 하지 않습니다.

동작 이미지


좋은 웹페이지 즐겨찾기