Skip to main content link. Accesskey S
  • Help
  • HCL Logo
  • HCL Notes and Domino Application Development wiki
  • THIS WIKI IS READ-ONLY. Individual names altered for privacy purposes.
  • HCL Forums and Blogs
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • API Documentation
Search
Community Articles > 日本語 - Japanese > 「ダイアログリスト」フィールドの実現方法
  • Share Show Menu▼
  • Subscribe Show Menu▼

Recent articles by this author

XPages アプリケーションで Embedded Experience メールを実現する

XPages アプリケーションを Embedded Experience メールで利用する際の実現方法の解説です。

Embedded Experience メールを試す

IBM NotesDomino 9.0 Social Edtion で XPages を利用した Embedded Experience メールの実現方法です。

How to use OpenSocial Gadgets in IBM Notes

IBM Notes 9.0 enables you to use OpenSocial Gadgets on our business. This document describes how to use OpenSocial Gadgets in IBM Notes 9.0.

IBM iNotes で OpenSocial Gadgets を利用する

IBM iNotes で OpenSocial Gadgets を利用する際の設定方法です。

IBM Notes で OpenSocial Gadgets を利用する

IBM NotesDomino 9.0 Social Edition から利用可能になった OpenSocial Gagdtes を利用する際の設定方法です。
Community article「ダイアログリスト」フィールドの実現方法
Added by ~Anita Bregeromanli on April 25, 2012 | Version 1
  • Actions Show Menu▼
expanded Abstract
collapsed Abstract
従来型の Lotus Notes/Domino アプリケーションにおける「ダイアログリスト」フィールドの表現を XPages のビューコントロールを用いて実現する方法
Tags: XPages, 九州地区ノーツパートナー会
ShowTable of Contents
HideTable of Contents
  • 1 フィールドの実現方法「ダイアログリスト」
    • 1.1 適用方法
    • 1.2 オプション
  • 2 その他

フィールドの実現方法「ダイアログリスト」


XPageにて 「ダイアログリスト」を実現する場合、Dojoライブラリを用いたモーダルウィンドウにてダイアログを実現する。

適用方法


1.ダイアログボックスのDojoライブラリを割り当てる

  Dojoライブラリのダイアログボックス機能を利用するには、ページにそのライブラリを読み込んでおく必要がある。

 

  1-1.XPageのプロパティ[すべてのプロパティ]-[resources]に「xp:dojoModule」を追加し、その中の[name]に“dijit.Dialog”と入力する。

 

 


1-2.Dojoのテーマを利用するため、XPageのプロパティ[すべてのプロパティ]-[dojo]-[dojoTheme]を“true”に変更する。

これで、表示されるダイアログが透明になることを防ぐことができる。

2.メイン画面を作成する

  今回は、所属マスター文書から所属リストを表示するダイアログを作成する。

  メインの画面に所属情報をセットするフィールドと選択するボタンを準備する。

 


 ◆メイン画面の内容
項目
名前
内容
「所属情報」フィールドdepartmentName・コントロールパネルの[編集ボックス]を追加する。
「選択」ボタンselectDepartment・コントロールパネルの[ボタン]を追加する。

・[イベント]-[onclick]-[クライアント]-[スクリプトエディタ]内に下記を記述する。

var dialog = dijit.byId("#{id:selectDepartmentOnlyOne}");

dialog.show();

<解説>

「dialog」オブジェクトをダイアログとして表示させる。

3.ダイアログの領域を作成する

  ページ内にパネル領域を作成して、その中にダイアログの内容を記述する。

  パネル領域はどこに作成しても問題ないが、メンテナンスのことも考えてページの最下部に設置するとよい。

  3-1.パネルコントロールの「すべてのプロパティ」で、[dojo]-[dojoType]に“dijit.Dialog”を設定することで、この領域がダイアログボックスであることを宣言する。 

  3-2.ダイアログボックスを表示するとき、クライアントスクリプトでIDが必要になるので、明示的に指定する。

  ここでは、「selectDepartmentOnlyOne」としておく。



4.選択ボックスの配置

  ダイアログボックスのパネル領域の中に、「リストボックス」コントロールを配置する。

 


 ◆リストボックスの内容

項目
名前
内容
「所属選択」フィールドdepartmentSelect・コントロールパネルの[リストボックス]を追加する。

・[値]-[式項目の追加]にてスクリプトエディタに下記の式を記述する。

@DbColumn(@DbName(),"Departments",1)

<解説>

"Departments"ビューの1列目をリストとして表示する。


5.「OK」、「キャンセル」ボタンの配置

  「OK」ボタンで、選択した項目をメインに反映させる。

  同様に「キャンセル」ボタンを準備する。

 


 ◆ボタンの内容
項目
名前
内容
OKok_button・コントロールパネルの[ボタン]を追加する。

・[イベント]-[onclick]-[クライアント]-[スクリプトエディタ]内に下記を記述する。

var selected = dojo.byId("#{id:departmentSelect}");

var input = dojo.byId("#{id:departmentName}");

input.value = selected.value;

var dialog = dijit.byId("#{id:selectDepartmentOnlyOne}");

dialog.hide();

<解説>

ダイアログ内の 「所属選択」フィールドで選択した値をメインの「所属情報」フィールドへセットする。

その後、ダイアログを閉じる。

キャンセルcan_button・コントロールパネルの[ボタン]を追加する。

・[イベント]-[onclick]-[クライアント]-[スクリプトエディタ]内に下記を記述。

var dialog = dijit.byId("#{id:selectDepartmentOnlyOne}");

dialog.hide();

<解説>

ダイアログを閉じる。

6.スクリプトの出力の配置


  <script> タグを出力するために「スクリプトの出力」を配置する。

  

 ◆スクリプトの出力の内容

項目
名前
内容
スクリプトscriptBlock1・コントロールパネルの[スクリプトの出力]を追加する。

・[すべてのプロパティ]-[データ]-[value]内に下記を記述する。

XSP.addOnLoad(function(){

var dialog = dojo.byId("#{id:selectDepartmentOnlyOne}");

dialog.parentNode.removeChild(dialog);

var form = document.forms[0];

form.appendChild(dialog);

var dialogWidget = dijit.byId("#{id:selectDepartmentOnlyOne}");

dialogWidget.startup();

});

<解説>

ダイアログ領域となっている「selectDepartmentOnlyOne」パネルを

formタグの直下に移動し、ダイアログ内での部分更新が実行できるようにする。


7.ブラウザで確認

  ブラウザで参照するとダイアログリストが表示されることが確認できる。

    


オプション



パターンA. 新規項目追加の場合

1.編集ボックスの追加と各項目の修正

  新規項目を追加する場合、下記のように、リストボックスとは別に新しいキーワード入力用の編集ボックスを用意する。

  また、新しいキーワードが入力されている場合、その内容を反映させる為に各項目の修正を行う。

   

   

    ◆変更内容

項目
名前
内容
「新しいキーワード」フィールドNewdepartment・コントロールパネルの[編集ボックス]を追加する。

・[イベント]-[onclick]-[クライアント]-[スクリプトエディタ]内に下記を記述する。

var selected = dojo.byId("#{id:departmentSelect}");

selected.value = "";

<解説>

新しいキーワードを入力する場合、「所属選択」フィールドの値をクリアする。

「所属選択」フィールドdepartmentSelect・[イベント]-[onclick]-[クライアント]-[スクリプトエディタ]内に下記を記述する。

var selected_new = dojo.byId("#{id:Newdepartment}");

selected_new.value = "";

<解説>

所属選択をする場合、「新しいキーワード」フィールドの値をクリアする。

OKok_button・[イベント]-[onclick]-[クライアント]-[スクリプトエディタ]内に下記を記述する。

var selected = dojo.byId("#{id:departmentSelect}");

var selected_new = dojo.byId("#{id:Newdepartment}");

var input = dojo.byId("#{id:departmentName}");

if (selected_new.value ==""){

input.value = selected.value;

}else{

input.value = selected_new.value;

}

var dialog = dijit.byId("#{id:selectDepartmentOnlyOne}");

dialog.hide();

<解説>

「所属選択」フィールドまたは、「新しいキーワード」フィールドにて選択・入力された値を

メインの「所属情報」フィールドへセットする。その後、ダイアログを閉じる。


2.ブラウザで確認

  ブラウザで参照するとダイアログリストに新規項目が追加されたことが確認できる。

 

パターンB. 複数選択の場合

1.各項目の修正

  リストボックスにて複数値を選択できるように変更後、その結果をメインの画面に反映させる必要がある。


 ◆変更内容

項目
名前
内容
「所属情報」フィールドdepartmentName・ [プロパティ] - [すべてのプロパティ] - [基本] - [multipleSeparator] に、区切り文字として","を入力する。

 

「所属選択」フィールドdepartmentSelect・[プロパティ]-[オプション]-[複数選択も可]にチェックを付ける。

 

OKok_button・[イベント]-[onclick]-[クライアント]-[スクリプトエディタ]内に下記を記述する。


var selected = dojo.byId("#{id:departmentSelect}");
var input = dojo.byId("#{id:departmentName}");

input.value = "";
for(var i=0; i< selected.length; i++){
var option = selected.options[i];
if(option.selected==true){
if(input.value==""){
input.value = option.value;
}else{
input.value = input.value + "," + option.value;
}
}
}

var dialog = dijit.byId("#{id:selectDepartmentOnlyOne}");
dialog.hide();

<解説>

複数選択されている場合、","区切りで値をメインの「所属情報」フィールドへセットする。その後、ダイアログを閉じる。

2.ブラウザで確認

  ブラウザで参照すると複数選択可能となったことが確認できる。

 


その他



<調査環境>
Lotus Domino Designer 8.5.2
Microsoft Internet Explorer 8

その他の「フィールド」についてはこちらを参照してください

この記事は九州地区ノーツパートナー会技術部会(リコー IT ソリューションズ 株式会社)によって作成されました。

  • Actions Show Menu▼


expanded Attachments (0)
collapsed Attachments (0)
Edit the article to add or modify attachments.
expanded Versions (1)
collapsed Versions (1)
Version Comparison     
VersionDateChanged by              Summary of changes
This version (1)Apr 25, 2012, 7:28:23 AM~Anita Bregeromanli  
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedAbout
  • HCL Software
  • HCL Digital Solutions community
  • HCL Software support
  • BlogsDigital Solutions blog
  • Community LinkHCL Software forums and blogs
  • About HCL
  • Privacy
  • Accessibility