DBからのデータバインディング
DBからデータを取得し、画面にデータをバインディングして表示する流れです。
ODIファイルを利用したe-Formデータバインディング
HTMLスクリプトにて
memberNo
のODIパラメーターをmembership-odiparam.ozr
に送ります。membership-odiparam.ozr
からmemberNo
をmembership.odi
に送ります。membership.odi
はOZサーバーを経由し、データベースのデータを要請します。membership.odi
はmembership-odiparam.ozr
取得出来たデータを送ります。membership-odiparam.ozr
はデータを各コンポーネントにバインドします。
membership-odiparam.ozrの準備
membership.ozr
をmembership-odiparam.ozr
にコピーし、membership-odiparam.ozr
ファイルを開きます。
ODIの挿入
ODI作成ページのODIパラメーターを使用したMembershipの作成セクションで作成しておいたmembership.odiを挿入します。

テキストボックスデータの取得
memberデータセットフィールドのmemberNo、firstName、lastName、contactNo、email、CardNo、photo、sign、signDateTimeを割り当てます。
生年月日データの取得
// ObBind of yyyy
var items = new Array();
var i = 0;
for ( i=1950; i<2020; items[i-1950]=i++) ;
This.SetItems(items.join("\n"));
var val = This.GetDataSetValue("member.birthday");
if (val) {
var yyyy = val.substr(0,4);
for ( i=0; items[i] != yyyy; i++) ;
This.SetSelectedIndex(i);
} else {
This.SetSelectedIndex((2020-1950)/2);
}
性別データの取得
// OnBind of male
if (This.GetDataSetValue("member.gender") == "M") {
This.SetChecked(true);
}
Membershipデータの取得
// OnBind of memberType
var items = [ "Trial", "Regular", "Premium" ];
This.SetItems(items.join("\n"));
var val = This.GetDataSetValue("member.memberType");
if (val) {
for ( i=0; items[i][0] != val; i++) ;
This.SetSelectedIndex(i);
} else {
This.SetSelectedIndex(0);
}
Paymentデータの取得
// OnBind of cardType
var items = [ "VISA", "MASTER", "JCB", "HSBC", "UOB" ];
This.SetItems(items.join("\n"));
var val = This.GetDataSetValue("member.cardType");
if (val) {
for ( i=0; items[i] != val; i++) ;
This.SetSelectedIndex(i);
} else {
This.SetSelectedIndex(0);
}
ODIパラメーターの伝送
membership-odi.html
<script type="text/javascript" >
var serverUrl = "https://" + location.host;
function SetOZParamters_OZViewer(){
var oz = document.getElementById("OZViewer");
oz.sendToActionScript("information.debug", "true"); // viewer console
oz.sendToActionScript("connection.servlet",serverUrl + "/oz/server");
oz.sendToActionScript("connection.reportname","/eform/membership-odiparam.ozr");
oz.sendToActionScript("odi.odinames", "membership");
oz.sendToActionScript("odi.membership.pcount", "1"); // number of odi parameters
oz.sendToActionScript("odi.membership.args1", "memberNo=" + 1002); // odi parameter
return true;
}
start_ozjs("OZViewer", serverUrl + "/oz/HTML5viewer/");
</script>
最終更新
役に立ちましたか?