fc2ブログ

apex:page

ページを作成する際に初めに設定する。apex:pageの解説です。

(例)
<apex:page sidebar="false" showHeader="false" controller="SampleController>

・sidebar
サイドバー表示
true:表示する false:表示しない
・showHeader
ヘッダー表示
true:表示する false:表示しない
・controller
制御項目
コントロール名を指定
スポンサーサイト



SalesForceとモバイル端末

SalesForceを用いて作られたアプリケーションを携帯端末から利用する場合、
いくつかの課題が挙げられます。

まず、1つ目はJavaScriptの問題です。
Apexタグで作られた画面のソースには、明示的にJavaScriptを書かなかったとしても
HTMLソースとして表示する際、JavaScriptが含まれています。

しかし、現在の携帯端末で利用されているWebブラウザは
JavaScriptに対応していないため(一部機種を除く)表示する際にエラーとなってしまいます。

2つ目に、ページサイズの問題が挙げられます。
仮にJavaScriptに対応したブラウザであったとしても、
ApexコードはHTMLソースに変換する際、非常に長い文字列となり、
携帯Webブラウザの上限サイズを超えてしまう恐れがあります。

以上の問題を解決する手段として、携帯WebブラウザとSalesForceで作ったアプリ
の仲介をしてくれるような外部システムの利用等が考えられますが、
対応機種が少ない、有料 等の理由で手が出しにくい部分もあります。



まとめようと思ったけど筆者も結論が出なくてまとまらない・・と。
いいアイデアお待ちしております。

テーマ : コンピュータ
ジャンル : コンピュータ

inputFieldとcommandButtonを使ってみる

Apexページから自分で作ったカスタムオブジェクトにレコードを追加したい時、
「inputField」と「commandButton」を使うことで
割と簡単に入力フォームと登録ボタンを作ることが出来ます。

ここでは"menu"という名前のカスタムオブジェクト、
"Number"という数値型のカスタム項目、
"Day"という日付型のカスタム項目、
"Name"というテキスト型のカスタム項目を作った上で
Apexページと制御項目(コントローラ)を作成します。


--- Apex Page ---
<apex:page controller="testCon">
<apex:form>
<apex:inputField id="number" value="{!menu.Number__c}"/>
<apex:inputField id="day" value="{!menu.Day__c}"/>
<apex:inputField id="name" value="{!menu.Name__c}"/>

<apex:commandButton action="{!save}" value=" 登 録 "/>
</apex:form>
</apex:page>

--- 制御項目(コントローラ) ---

public class testCon {
//変数宣言
public menu__c objMenu { get; set; }

public menu__c getMenu() {
if(objMenu == null) objMenu = new menu__c();
return objMenu;
}
}
public PageReference save(){
insert objMenu;
return null;

}

--- ここまで ---


このように、登録ボタンにのアクションに対応するメソッド内で
insert カスタムオブジェクト名;
とすれば、inputFieldで入力されたデータを元に新しいレコードが作成されます。

また、inputFieldは自動で型を判断してくれる為、対応するカスタム項目がテキスト型であれば
テキストボックスが作成され、Date型であれば
カレンダーを表示するような入力フォームが作成されます。

ただしカスタムオブジェクトに必須項目がある場合、
その項目に対応するinputFieldを空のままでinsertしようとすると
エラーになるので注意が必要です。


※2009/12/16追記
<apex:inputSecret value="{!inputValue}" id="theSecretInput"/>

とすれば、パスワード形式でマスクをすることができる。

テーマ : コンピュータ
ジャンル : コンピュータ

型変換

ひとまずAPEXコード内における代表的な型変換のメモ

・String型
String.valueOf(123);

・Integer型
Integer.valueOf('123');

・Date型
Date.parse('2009/09/09');

※本当にメモ
'123'.ToString()が使えなかったり
Date.valueOf('2009/09/09'); は実行時にエラーだったりする。
FC2カウンター
プロフィール

くりゅりゅ

Author:くりゅりゅ
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード