LoginSignup
0
0

LWC コンポーネントのオプション

Last updated at Posted at 2023-11-06

lightning-tree-grid

URL のラベル

typeAttributes: { label: 'View', name: 'view' }

別Windowに遷移する

typeAttributes: {label: { fieldName: 'Invoice_Number__c' }, target: '_top'}},

下方向へは1階層しか検索できないので、クエリーは分けざるを得ないと思います。

まずは1階層と2階層目の関係をList変数に取得します。

LIST = [SELECT Id, (SELECT Id FROM B) FROM A];
それから、for文でこのlist変数をループさせて、2階層目のIdを取得してSet変数に保存します。

次にSet変数に一致する2階層目とその下の3階層目を検索します。

LIST = [SELECT Id, (SELECT Id FROM C) FROM B WHERE Id =: SetBId];
ここでもforでループさせて検索結果を Map(Id,List) の変数に格納します。

こうすることで、MapにBのIdを与えれば、その下のCをList変数の形で参照できます。

ここまで準備しておいて、またListをforでループさせて、
BのIdを取得します。ここで、先程のMap変数を使ってCの情報を取得できます。
このループでJsonを組み立てていけば、欲しい形のフォーマットになるのではと思います。

ただ、あんまりレコードが多いと制限に抵触するかもしれません。

一番簡単な方法は BオブジェクトにA__r.Nameの数式項目を作ることだと思います。

別の方法としては以下のようにList>の変数を使って、値をセットすれば自由に何でも指定できます。この変数をlightning-datatableに渡せば表示できると思います。

List<Map<String,Object>> myDataList = new List<Map<String,Object>>();
for (fkd_Property__c myRecord : myPropertyList) {

      Map<String, Object> myMap = new Map<String, Object>();        	
      myMap.put('Id',myRecord.Id);   
      myMap.put('submission_name__c',myRecord.customer_id__r.customer_code__c + ':' + myRecord.customer_id__r.Name);   
      myDataList.add(myMap);
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0