こんにちは、管理人の@Salesforce.Zです。
たまにVF側でクエリしたいでしょうか
自分がこんな時あった
そこで、
今回、VF側でどうやってクエリできるか
について共有したいと思います。
欲しけりゃくれてやる・・・。
探せ!
この世の全てをそこに置いてきた〜笑
目次
サンプルコード
取引先詳細ページに下記VFを呼び出すボタン用意
VFページ側
<apex:page standardController="Account" showHeader="false" sidebar="false"> <head> <title>sforce connection query</title> // jsでクエリするため、AJAXが必要 <script src="/soap/ajax/28.0/connection.js" type="text/javascript"></script> <script src="/soap/ajax/28.0/apex.js" type="text/javascript"></script> <script type="text/javascript"> // セッションIDないとエラーなので、この行を記載しとくこと sforce.connection.sessionId='{!GETSESSIONID()}'; //ボタン押下時にコールjs関数 function jsQuery() { // 例とする取引先のID var addId = '0017F00000asFFp'; // クエリ文字列 var queryStr = "Select Id,Name From Account where Id = '" + addId + "'"; // クエリ発行 var result = sforce.connection.query(queryStr); // レコード取得 var records = result.getArray("records"); // クエリ結果捜査 for (var i=0; i<records.length; i++) { // 取引先名 var recordname = records[i].Name; alert(recordname); } } </script> </head> <apex:form > <apex:pageBlock id="button" title="test query"> <apex:commandButton value="jsQuery" onClick="jsQuery();{return false;}"/> </apex:pageBlock> </apex:form> </apex:page>
操作
1:任意取引先の詳細ページへ移動
2:詳細ページトップの実装したボタンJSQueryを押下
3:ボタン押下後に出るVF画面にあるjsQueryボタンを押下