レイアウトビューで属性データを更新する
「レイアウトビュー」は、htmlでレイアウトされた特別な「フォーム」ウィンドウに属性を表示できる機能です。
このウィンドウでは、あくまでも「属性を表示」する事をメインにしていますので、通常の属性照会ダイアログボックスのような内部属性の編集はできません。
しかし、htmlのフォーム(FORMタグ)とhtml上でのスクリプティング(DHTML)でPC-MAPPINGのオートメーションを利用する事により、内部属性を更新するレイアウトビューを設計する事もできます。
ここでは、内部属性の更新、リレーションによるイメージ画像の表示、プロジェクトファイルの表示等を行ない、レイアウトビューからどの程度処理できるのかを検討しました。
- ■ サンプル
- サンプル[layout12.zip(約654KB)]をダウンロードする
| インデックス.pcm | :サンプルプロジェクト |
| 公園.pcm | :サンプルプロジェクト |
| 公園管理temp_js.html | :フォームテンプレート(JScript) |
| 公園管理temp_vbs.html | :フォームテンプレート(VBScript) |
| image | :リレーション用写真 |
| shisetsu_p | :凡例のパターン・ペンの画像 |
【ダウンロードサンプルの使用上の注意点】
ダウンロードした圧縮ファイルから解凍されたファイルには「セキュリティブロック」がかかります。
「セキュリティブロック」がかかった状態では、スクリプトが動作しない可能性があります。
解凍したファイルをマウス右クリックし、メニューから「プロパティ」をクリックすると、「全般」パネルの下部に「セキュリティ:」欄が表示されますので、「許可する」チェックボックスをONにして下さい。
- ■ 操作方法
-
- 「インデックス.pcm」を開きます。
[プロジェクト]リボン-[プロジェクト設定]-[レイヤー]の[キーリスト]パネルに「公園管理temp_js.html」をレイアウトビューとして使用するよう設定されています。
VBScriptの場合、「公園管理temp_vbs.html」に変更して下さい。
- [属性]リボン-[照会]-[ポイント]を実行し、「まぷこん公園」シンボルをナップします。
すると、以下のようなレイアウトビューが表示されます。
- <更新>ボタン
-
- 「管理番号」は、「公園ID」フィールドをキーとして、「開園年月日」「面積」フィールドにデータベースリンク(他フィールド参照)設定を行い、「開園年月日」「面積」へ表示しています。
よって、「管理番号」を変更し、<更新>ボタンを押すと、「開園年月日」「面積」も変更されます。
- 「公園種類」は、「種別コード」フィールドから表示しています。ドロップダウンリストはhtmlタグを利用して設定しています。
ドロップダウンリストから選択し、<更新>ボタンを押すと変更されます。
- 「施設名称」「所在地」は「公園名」「所在地」フィールドから表示しています。
「施設名称」「所在地」を入力し、「更新」ボタンを押すと変更されます。
- 「公園風景」は、「公園ID」フィールドをキーとして、「公園内部詳細3」フィールドにデータベースリンク(他フィールド参照)設定を行い、表示しています。
「管理番号」を変更し、<更新>ボタンを押すと、イメージ画像も変更されます。
- <別ウィンドウ表示>ボタン
- 「公園ID」フィールドをキーとして、「公園内部詳細2」フィールドにデータベースリンク(他フィールド参照)設定を行い、このフィールドのイメージ画像をリレーション起動で開いています。
- <関連プロジェクト呼出>ボタン
- 「公園ID」フィールドをキーとして、「公園内部詳細」フィールドにデータベースリンク(他フィールド参照)設定を行い、このフィールドのプロジェクトファイルを開いています。
プロジェクトファイルの表示にはOLEを利用していますが、他のアプリケーションを起動したい場合は、以下の方法で実行できます。
---
var WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run("NOTEPAD.EXE");//メモ帳の起動
---
「関連プロジェクト呼出」ボタンから呼び出されたプロジェクトファイルの代表点「園名柱」ポイントを検索し、選択表示します。
- ■ プログラム説明
- 詳しくはプログラム内のコメントをご覧下さい。
- <更新>ボタン
- 「公園管理temp_js.html」ファイルの「ReOpen()」を参照して下さい。
- <別ウィンドウ表示>ボタン
- 「公園管理temp_js.html」ファイルの「OpenImage()」を参照して下さい。
- <関連プロジェクト呼出>ボタン
- 「公園管理temp_js.html」ファイルの「OpenPrj()」を参照して下さい。
- ■ 補足
-
- 「関連プロジェクト呼出」ボタンについて
レイヤーシフトビューから別のプロジェクトファイルを開くと、アクティブなプロジェクトが変更されるので、属性照会はキャンセルされます(もちろん、レイヤーシフトビューも閉じます)。
レイヤーシフトビューを表示しておきたい場合は、レイヤーシフトビューのロックボタンをONにして下さい。
ただし、属性照会がキャンセルされるのを回避する方法はありません。
また、属性照会キャンセル時にスナップしたベクターの選択状態も解除されてしまいます。
選択状態が解除されないようにプログラミングでスナップしたベクターを選択状態にしています。
- 「Windows セキュリティの警告」ウィンドウが表示される場合は、HTMLメニュー内でのスクリプト使用についてをご覧下さい。
|