簡易検索と詳細検索を切り替えられる検索ボックスの作成

UI部品 基本編

この記事でわかること:
・項目を指定せず入力されたワードを含むレコードを抽出する処理の作成方法
・項目ごとに条件を指定する詳細検索処理の作成方法
・簡易検索と詳細検索の切り替えができる検索ボックスの作成方法
・作成した検索ボックスを複数のページで使いまわす方法

  

  

プロジェクトファイル
(作成バージョン:(10.0.10.0)
customcell_search_2_before.fgcp
customcell_search_2_after.fgcp(実装済みプロジェクトファイル)

1.プロジェクトを確認する

今回の演習で使用するプロジェクトの確認をします。

手順1-1.テーブルの確認

プロジェクトには2つのテーブルが内蔵されています。

手順1-2.ページの確認

プロジェクトには2つのページが内蔵されています。

2.検索ボックスを作成する

データの抽出を行う検索ボックスを作成します。
今回は複数のページで使いまわせるよう、カスタムセルを使って作成します。

手順2-1.カスタムセルの作成

検索処理に必要なパーツを配置するカスタムセルを作成します。
リボンの[作成]>[カスタムセル]をクリックします。
エディタ画面が切り替わり、新規に「カスタムセル1」が作成されます。

手順2-1-1.行と列の追加

このままではサイズが小さいので、行と列を追加します。
列ヘッダーおよび行ヘッダーを右クリックし、[挿入]をクリックして列・行を増やします。
列は16列(R列)、行は9行になるまで行ってください。

手順2-1-2.セルのサイズ固定

カスタムセルはページに配置する際、配置されるセル範囲のサイズに合わせて伸縮してしまいます。
それを防ぐため、列の幅、行の高さを固定する処理を行います。
すべての列を選択した状態で列ヘッダーを右クリックし、[列の幅…]をクリックします。
列の幅ウィンドウが開くので、「固定」を選択し[OK]ボタンを押して閉じます。

同様に、すべての行を選択した状態で行ヘッダーを右クリックし、[行の高さ…]をクリックします。
行の高さウィンドウが開くので、「固定」を選択し[OK]ボタンを押して閉じます。

手順2-2.簡易検索処理の実装

入力されたキーワードがレコード内のどれかの項目に含まれるデータを抽出する処理を作成します。

手順2-2-1.UIパーツの配置

検索処理に必要なパーツを下記の通りにカスタムセルに配置します。

セル範囲セル型テキスト備考
A2~B2(指定なし)キーワード:右揃えに設定
J2~K2ボタン検索右ペインの[セル型]タブ>[左アイコン]から虫眼鏡のアイコンを追加
A7~B7ボタン詳細検索右ペインの[セル型]タブ>[左アイコン]から+マークのアイコンを追加

手順2-2-2.プロパティの作成

カスタムセルのプロパティを作成します。
ナビゲーションウィンドウの「カスタムセル1」を右クリックし、[新しいプロパティの作成…]をクリックします。
新しいプロパティの作成ウィンドウが開くので、下記のように設定します。

プロパティ名キーワード
プロパティの型テキスト

作成したプロパティをナビゲーションウィンドウからC2セルにドラッグ&ドロップし、テキストボックスにデータ連結を行っておきます。

手順2-2-3.イベントの作成

カスタムセルのイベントを作成します。
ナビゲーションウィンドウの「カスタムセル1」を右クリックし、[新しいイベントの作成…]をクリックします。
新しいイベントの作成ウィンドウが開くので、名前欄に「キーワード検索実行」と入力し、[OK]ボタンを押下して閉じます。

作成したイベントはボタンに関連付けを行います。
J2セルの検索ボタンを選択した状態で、右ペインの[セル型タブ]から[コマンド…]をクリックします。
コマンドウィンドウが開くので、カスタムセルのイベント実行コマンドを追加し下記のように設定します。

イベント名キーワード検索実行

手順2-2-4.詳細検索画面への切り替え処理の作成

A7セルの詳細検索ボタンを押下した際に画面を切り替える処理を作成します。
A7セルを選択した状態で右ペインの[コマンド…]をクリックします。
コマンドウィンドウが開くので、行列のレイアウト設定コマンドを追加し、以下のように条件を追加して閉じます。

ターゲット領域プロパティの種類設定値
=2:3表示非表示
=4:6表示表示
=7:7表示非表示
=8:8表示表示

手順2-3.詳細検索処理の実装

項目ごとに入力されたキーワードが、レコード内の同名項目に含まれるデータを抽出する処理を作成します。

手順2-3-1.UIパーツの配置

詳細検索処理に必要なパーツを下記の通りにカスタムセルに配置します。

セル範囲セル型テキスト備考
A4~B4(指定なし)項目1:右揃えに設定
C4~H4テキストボックス(空欄) 
J4~K4(指定なし)項目2:右揃えに設定
L4~Q4テキストボックス(空欄) 
H6~K6ボタン検索右ペインの[セル型]タブ>[左アイコン]から虫眼鏡のアイコンを追加
A8~B8ボタンキーワード検索右ペインの[セル型]タブ>[左アイコン]から-マークのアイコンを追加

各パーツを配置後、4行目~6行目および8行目の行ヘッダーを右クリックし、[非表示(H)]をクリックして行を非表示にしておきます。

手順2-3-2.プロパティの作成

カスタムセルのプロパティを、新たに4つ作成します。
ナビゲーションウィンドウの「カスタムセル1」を右クリックし、[新しいプロパティの作成…]をクリックします。
新しいプロパティの作成ウィンドウが開くので、下記のように設定します。
また、作成したプロパティはナビゲーションウィンドウからドラッグ&ドロップしてセルにデータ連結をする必要があります。
データ連結を行う対象のセル番地も下記の表に記載します。

・1つ目

プロパティ名項目1見出し
プロパティの型テキスト
データ連結先セルA4

・2つ目

プロパティ名項目1
プロパティの型テキスト
データ連結先セルC4

・3つ目

プロパティ名項目2見出し
プロパティの型テキスト
データ連結先セルJ4

・4つ目

プロパティ名項目2
プロパティの型テキスト
データ連結先セルL4

手順2-3-3.イベントの作成

カスタムセルのイベントを作成します。
ナビゲーションウィンドウの「カスタムセル1」を右クリックし、[新しいイベントの作成…]をクリックします。
新しいイベントの作成ウィンドウが開くので、名前欄に「詳細検索実行」と入力し、[OK]ボタンを押下して閉じます。

作成したイベントはボタンに関連付けを行います。
H6セルの検索ボタンを選択した状態で、右ペインの[セル型タブ]から[コマンド…]をクリックします。
コマンドウィンドウが開くので、カスタムセルのイベント実行コマンドを追加し下記のように設定します。

イベント名詳細検索実行

手順2-3-4.詳細検索画面への切り替え処理の作成

A8セルのキーワード検索ボタンを押下した際に画面を切り替える処理を作成します。
A8セルを選択した状態で右ペインの[コマンド…]をクリックします。
コマンドウィンドウが開くので、行列のレイアウト設定コマンドを追加し、以下のように条件を追加して閉じます。

ターゲット領域プロパティの種類設定値
=2:3表示表示
=4:6表示非表示
=7:7表示表示
=8:8表示非表示

これでカスタムセルの設定は完了です。

3.顧客一覧ページに検索ボックスを配置する

顧客一覧ページにカスタムセルを配置し、検索ができるよう設定します。

手順3-1.カスタムセルの配置

結合済みのB3セル~AF10セルを選択した状態で、ナビゲーションウィンドウから「カスタムセル1」をドラッグ&ドロップし、顧客一覧ページにカスタムセルを配置します。
右ペインの[セル型]タブをスクロールし、各種プロパティに下記のように値を入力します。

プロパティ名入力値
キーワード(空欄)
項目1見出し会社名:
項目1(空欄)
項目2見出し住所:
項目2(空欄)

手順3-2.イベントの設定

カスタムセルに定義されているイベントに、入力された条件に合致するデータを抽出する処理を設定します。
ページ上のカスタムセルを選択した状態で、右ペインの[セル型]タブから[キーワード検索実行 のコマンド…]をクリックします。
コマンドウィンドウが開くので、まずはセル型の操作コマンドを追加し、下記のように設定します。

対象のセル型=B3 
操作プロパティから値を取得 
設定値プロパティ名値を格納する変数名
 キーワードキーワード

続けてクエリーコマンドを追加し、対象テーブルに顧客リストを設定してから抽出条件を以下のように設定します。

And/Orフィールド操作
 [会社名]指定値を含む=キーワード
Or[住所]指定値を含む=キーワード

同様に、右ペインの[セル型]タブから[詳細検索実行 のコマンド…]をクリックします。
コマンドウィンドウが開くので、まずはセル型の操作コマンドを追加し、下記のように設定します。

対象のセル型=B3 
操作プロパティから値を取得 
設定値プロパティ名値を格納する変数名
 項目1会社名
 項目2住所

続けてクエリーコマンドを追加し、対象テーブルに顧客リストを設定してから抽出条件を以下のように設定します。

And/Orフィールド操作
 [会社名]指定値を含む=会社名
And[住所]指定値を含む=住所

これで顧客一覧ページの設定は完了です。

4.社員一覧ページに検索ボックスを配置する

社員一覧ページにカスタムセルを配置し、検索ができるよう設定します。

手順4-1.カスタムセルの配置

結合済みのB3セル~AF10セルを選択した状態で、ナビゲーションウィンドウから「カスタムセル1」をドラッグ&ドロップし、顧客一覧ページにカスタムセルを配置します。
右ペインの[セル型]タブをスクロールし、各種プロパティに下記のように値を入力します。

プロパティ名入力値
キーワード(空欄)
項目1見出し氏名:
項目1(空欄)
項目2見出しよみがな:
項目2(空欄)

手順4-2.イベントの設定

カスタムセルに定義されているイベントに、入力された条件に合致するデータを抽出する処理を設定します。
ページ上のカスタムセルを選択した状態で、右ペインの[セル型]タブから[キーワード検索実行 のコマンド…]をクリックします。
コマンドウィンドウが開くので、まずはセル型の操作コマンドを追加し、下記のように設定します。

対象のセル型=B3 
操作プロパティから値を取得 
設定値プロパティ名値を格納する変数名
 キーワードキーワード

続けてクエリーコマンドを追加し、対象テーブルに社員リストを設定してから抽出条件を以下のように設定します。

And/Orフィールド操作
 [氏名]指定値を含む=キーワード
Or[氏名_ひらがな]指定値を含む=キーワード

同様に、右ペインの[セル型]タブから[詳細検索実行 のコマンド…]をクリックします。
コマンドウィンドウが開くので、まずはセル型の操作コマンドを追加し、下記のように設定します。

対象のセル型=B3 
操作プロパティから値を取得 
設定値プロパティ名値を格納する変数名
 項目1氏名
 項目2よみがな

続けてクエリーコマンドを追加し、対象テーブルに社員リストを設定してから抽出条件を以下のように設定します。

And/Orフィールド操作
 [氏名]指定値を含む=氏名
And[氏名_ひらがな]指定値を含む=よみがな

これで社員一覧ページの設定は完了です。

5.デバッグを実行する

リボンの[ホーム]>[デバッグ]>[開始]ボタン、またはForguncy Builderの左上にある▶ボタンを押下してプロジェクトをデバッグ実行します。

作成したページがブラウザで表示されるので、動作を確認してください。

ForguncyのUIパーツについてもっと知る

製品サイトでは、ForguncyのUIパーツや活用方法についてより詳しくご紹介しています。
こちらもぜひご活用ください。

>ノーコードWebアプリ開発ツール「Forguncy」

ノーコードWebアプリ開発ツール「Forguncy」

Forguncy(フォーガンシー)は複数のシステムと直接接続して参照・更新が行えるデータ管理機能と、Excel感覚でレイアウトができる画面デザイン機能を備えたノーコードWeb開発&運用プラットフォームです。基幹システムでは対応できず、仕方なくExcelやAccessで管理していた業務のサブシステム化を強力に支援します。

CTR IMG