Quantcast
Channel: Salesforce –ぱーくん plus idea
Viewing all articles
Browse latest Browse all 62

Visualforceで、オブジェクトの検索→一覧画面をサクッと作る方法

$
0
0

How can I make a simple serach page by custom “like” query?

Salesforceで業務システムを開発していると、各オブジェクトを自由に検索して一覧表示し、詳細画面に遷移したいというニーズは多いですよね。

特に、検索は、ユース・シーンによって、いろいろで、Salesforceでデフォルトで用意されているグローバル検索や、イニシャルでの検索では対応できず、オブジェクト名や任意の項目をLike句で検索したいという場合も多いです。

そういうオブジェクトが多いと、VisualForceの画面で検索画面を作成する手間も馬鹿になりません。

そこで、なるべく少ない手間でそんな画面を作ってみます。

Controllerの作成

少ない手間とするには、なるべくStandardなコントローラを利用するのがいいですね。

public with sharing class MyProductSearchController {
   public list  prds {get;set;}
   public string strCondName {get;set;}
   public MyProductSearchController(ApexPages.StandardController controller) {
   }
   public void search(){
     string searchQuery='select name,id from Product2 where name like '%'+strCondName+'%' Limit 100';
     prds= Database.query(searchQuery);
   }
   public void clear(){
     prds.clear();
     strCondName = '';
   }
}

 

画面から名前の一部を条件として渡して、商品名に対してLike句で検索した結果をListに保持するクラスとしましょう。

 

Visualforceページの作成

次に画面を作成します。



    
        
        
        
        
        
        
        {!prd.Name}
        
        
        
        
        
    

画面側はシンプルですね。なるべくSalsforceの標準的な画面に似せて作ろうと思います。

上記のコードで、

image

のような、検索→一覧画面ができます。

クエリ部分は自由に書き換えられますので、便利ですよ!


Viewing all articles
Browse latest Browse all 62

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>