はじめに
Visualforceを使って、取引先責任者の検索画面を作る際、
取引先の項目を表示させるときにつまづいたのでまとめます
問題
取引先責任者の親項目である、
取引先の項目(Account.NameやAccount.industry)を表示させようとしたら、エラーになった。
解決方法
Accountのインスタンス化を行う。イメージは下記の通り。
インスタンス化
public class searchPage{
public Contact conditionContact {get;set;} // conditionContactをページ側に渡して表示させている
public searchPage() {
conditionContact = new Contact(); //取引先責任者のインスタンス化
conditionContact.account = new Account(); //紐づく取引先のインスタンス化
}
}
短く、下記のようにも書ける
簡略Ver.
conditionContact = new Contact(Account = new Account());
おわりに
インスタンス化をしないと、それが存在しないんですよね。難しいですよね。
これを理解するのに時間がかかりました。。
わかりやすいと思ったサイトを貼っておきます。
なんとなく、「インスタンス化して実在させてから、変数を使うんだ!」
と分かれば十分だと思います!
参照: