(2) 画面表示時にテーブル表示データに条件を付ける (標準機能で対応しています)

参照関係、又は主従関係オブジェクトデータを表示する画面にて、
画面表示時にテーブルに条件(Where句、Order By句)を付けた状態でデータを表示する。

   拡張対象ページのApexクラス : SkyEditorClass
   対象データテーブルの「ID」   : dataTableSet1

global with sharing class MyExtender extends SkyEditor2.Extender {
	SkyEditorClass extension;
	SkyEditorClass.dataTableSet1 contacts;
 
	public MyExtender(SkyEditorClass extension) {
		this.extension = extension;
		this.contacts = extension.dataTableSet1; // 対象オブジェクト:取引先責任者

		// 親オブジェクトのデータが存在する場合のみ子オブジェクト取得Query 生成
		if (extension.record != null && extension.record.Id != null) {
			// SkyEditor 作成したクラスのコンストラクタで生成したQuery を取得
			SkyEditor2.Query tableQuery1 = extension.queryMap.get('dataTableSet1');
			// 条件を追加
			// 追加内容: 「AND Name like '田中'」
			tableQuery1.addWhere('AND');
			tableQuery1.addWhere('Name', '田中', SkyEditor2.WhereOperator.Co);
			// 作成日を昇順で並び替え。且つNull の場合はNull を先頭表示設定追加
			tableQuery1.addSort('CreatedDate', true, true);
			extension.queryMap.put('dataTableSet1', tableQuery1);
		}
	}
}
// TestClass
@isTest
private class testMyExtender{
	private static testMethod void testMyExtender() {
		Account acc = new Account(Name='Test');
		insert acc;

		Contact cont = new Contact(Account = acc, LastName= 'TestUser');
		insert cont;
		SkyEditorClass ext = new SkyEditorClass(new ApexPages.StandardController(acc));
		MyExtender extender = new MyExtender(ext);
	}
}