こんにちは、アンダーソンです。
今回は標準コントローラを使った実装をみていきたいと思います。
Contents
コントローラの種類は4種類
コントローラには4種類ありますので覚えておきましょう。
- 標準コントローラ
- 標準リストコントローラ
- カスタムコントローラ
- 拡張コントローラ
です。それぞれの書き方について何回かにわけて、記していきたいと思います。
標準コントローラ
その名の通り標準のコントローラです。
標準と名前はついていますが標準オブジェクトだけでなくカスタムオブジェクトでも使用できます。そうです、コントローラの標準、カスタムはオブジェクト別の話ではなく
宣言の仕方によって変わります。
まず、VFを作成します。
<apex:page>属性の中に記述をしていくんですが、
標準コントローラの場合は下記のように記述します。
<apex:page standardController="Account">
これだけでOKです。
これで取引先オブジェクトで用意されている標準の機能を使った実装ができます。
標準の機能とは例えば保存や削除などのことを言います。
あらかじめsaveやdeleteなどのアクションが用意されており、それを使用した実装が用意にできます。
例えば下記のような実装ですとTest1というカスタムオブジェクトの標準コントローラを使用してレコードの詳細画面を表示できます。
<apex:page standardController="Test1__c">
<apex:form >
<apex:pageBlock title="詳細画面">
<apex:pageBlockButtons >
<apex:commandButton action="{!edit}" value="編集"/>
</apex:pageBlockButtons>
<apex:pageBlockSection title="レコード詳細" columns="2">
<apex:outputField value="{!Test1__c.Text__c}"/>
<apex:outputField value="{!Test1__c.CheckBox__c}"/>
<apex:outputField value="{!Test1__c.Datetime__c}"/>
<apex:outputField value="{!Test1__c.PickList__c}"/>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>

ここから編集ボタンを押すと標準の編集画面にいくことができます。
outputFieldをinputFieldに変更してeditをsaveに変更すればもちろん編集画面なんかも作ることもできます。
まとめ
今回のソースはGitHubにも載せていますのでぜひ参考にしてみてください。
ぜひ簡単に標準の画面をカスタマイズできる標準コントローラを使ってみてください。
コメント