2025/01/12

作ってみよう:#25)スマート名刺管理 - Nomad 用フォームの作成

今回は Nomad 用のフォームを作成します。


名刺管理フォームの作成

ノーツクライアント用の名刺管理フォームをコピペして作成します。

修正箇所は次の通りです。


◇ フォーム情報

フォーム名 m01.名刺管理
別名 mfNameCard | fNameCard

別名の mfNameCard は前回作成の埋め込み用ビューで、そのビューから文書を開くとこのフォームで開くという動作になります。文書を保存する際には、最後の別名が Form フィールドに保存されます。この設定により、Nomad で文書を作成してもノーツ用と区別なく保存されることになります。ハイブリッドアプリに便利な手法ですね。


◇ セクションの設定

Nomad アプリではじゃまになるので、管理用セクションを常時非表示となるように設定します。


◇ タブ表の設定

Nomad アプリでは画面幅いっぱいに使用したいので、[登録情報][名刺画像]タブの表の幅設定を「ウィンドウに合わせる」を選択します。


会社名別フォームの作成

Nomad で使いやすくするため、画面上部でカテゴリを選択し、選択したカテゴリ内の名刺データだけを表示する機能を作成します。フォーム内の埋め込みビューを利用して開発します。作成するフォームの動作イメージは次の通りです。

フォーム下部に埋め込みビューを配置し、その上部にカテゴリを指定する機能を配置します。カテゴリは、ア行、カ行など 50 音の ”行” の選択とその行のイニシャル(最大 5 音)を選択できるようにします。行だけを選ぶとその行に属する名刺、イニシャルを選ぶとその音で始まる名刺を表示します。

作成するフォームは次の通りです。


◇ フォーム情報

フォーム名 m02.会社名別
別名 mfViewByCompany
ウィンドウタイトル "会社名別"


◇ 常時非表示セクション

セクションを作成して、その中に管理用のフィールドを作成します。

項目 フィールド名 種類 補足
保存制御 SaveOptions テキスト 編集可能 初期値: "0"
行リスト Keyword1_Lst テキスト 表示用の
計算結果
複数値も可
計算式は後述
イニシャル
リスト
Keyword2_Lst テキスト 表示用の
計算結果
複数値も可
計算式は後述

セクションは常時非表示とし、必ず閉じた状態になるように設定します。


・Keyword1_Lst の値(計算式)

REM{名刺データが存在する行を取得};

xLst := @DbColumn("":"NoCache"; "":""; "vSchKeyword1"; 1);
@If(@IsError(xLst); ""; @Unique(xLst))


・Keyword2_Lst の値(計算式)

REM{選択した行で名刺データが存在するイニシャルを取得};

REM{イニシャルを取得する行を決定};

xKey := @If(Keyword1 = ""; @Subset(Keyword1_Lst; 1); Keyword1);

REM{イニシャルを取得};
xLst := @DbLookup("":"NoCache"; "":""; "vSchKeyword1"; xKey; 2);
xNew := @If(@IsError(xLst); ""; @Unique(xLst));

REM{選択中のイニシャルが次の選択肢になければイニシャルの選択をクリア};
REM{選択肢を変えず画面更新したときにイニシャルを保持};

@If(@IsMember(Keyword2; xNew); @Success; @SetField("Keyword2"; ""));

REM{イニシャルの選択肢をセット};
xNew


◇ キーワード選択エリア

枠が非表示の表の中にフィールドを配置します。

フィールド名 種類 補足
Keyword1 コンボボックス 編集可能 初期値などの詳細設定は後述
Keyword2 ラジオボタン 編集可能 初期値などの詳細設定は後述


・Keyword1 の詳細設定

デフォルト値 xLst := @GetField(@ThisName + "_Lst");
@Subset(xLst; 1)

選択 式で選択肢を設定
@GetField(@ThisName + "_Lst")
オプション ☑ キーワードの変更時にフィールドを更新
☑ 文書の更新時に選択肢を更新


・Keyword2 の詳細設定

デフォルト値 ""

選択 式で選択肢を設定
@GetField(@ThisName + "_Lst")
オプション ☑ キーワードの変更時にフィールドを更新
☑ 文書の更新時に選択肢を更新


◇ 埋め込みビュー

フォームの下部に埋め込みビューを配置します。

メニューから [作成] - [埋め込み設計要素] - [ビュー] を選択し、前回作成した埋め込み用ビューを選択します。


作成した埋め込みビューを選択し、単一カテゴリの表示に次の式を設定します。

@If(Keyword2 = ""; Keyword1; Keyword2)


最後に埋め込みビューのプロパティでサイズを設定します。また、『スクロールバーを無効』チェックは外しておきましょう。件数が多い場合スクロールできなくなります。


◇ アクションボタン

フォームに作成するアクションボタンは次の通りです。

ボタン名 Click 補足
閉じる @Command([FileCloseWindow])
新規作成 @Command([Compose]; "mfNameCard") Nomad 用フォーム


前回 作ってみよう 次回


0 件のコメント:

コメントを投稿