スクリプトによる属性データ表示制御
指定したフィールドタイトルから、全レイヤーの各ベクター要素、または全データベースにある同一名称フィールドを検索し、[属性データ表示制御]ダイアログボックスの各項目のON/OFFを行います。
なお、[属性データ表示制御]ダイアログボックスの各項目のON/OFFは、レイヤーの各ベクター要素パネル、または属性データベース設定にある【表示制御】ボタンから行えます。
- ■ サンプル
サンプル[script27.zip(約40KB)]をダウンロードする
 | sample.pcm | :サンプルプロジェクト |
 | SetFieldHideInq.js | :サンプルJScript |
- ■ 準備
-
- ダウンロードしたファイルを解凍します。
ここでは、「C:\sample\script27」とします。
- PC-Mappingを起動します。
- 「C:\sample\script27\sample.pcm」を開きます。
- 「C:\sample\script27\SetFieldHideInq.js」を開きます。
- ■ 解説
-
- 要点1
- var fi = db.GetCopyOfFieldInfo(fid);
データベースクラス:GetCopyOfFieldInfo()メソッドで指定したフィールドのオブジェクトを取得します。
- 要点2
- fi.HideInq = ck;
フィールドクラス:HideInqプロパティで「属性照会 非表示」チェックボックスのON/OFFを行います。他の項目は以下の通りです。

なお、データベースに「クイック照会対象」「属性付与 非表示」チェックボックスはないため、ON/OFFは行えません。
また、「属性照会 非表示」「ウィンドウ 非表示」チェックボックスON/OFFは整数型ですが、それ以外のチェックボックスON/OFFはBoolean型になります。ご注意ください。
- 要点3
- var temp = db.ChangeField(fid, fi);
データベースクラス:ChangeField ()メソッドで設定内容を変更したフィールドのオブジェクトを指定したフィールドに反映します。
- ■ 実行
- 「属性照会」ウィンドウ表示時、「画地」「道路水路境界」「大字界」レイヤーポリゴン内部属性「更新日付」フィールドを非表示にします。
- ベクターウィンドウをアクティブにします。
- [属性]-[属性照会]-[ポリゴンマルチレイヤー属性照会]を実行し、黄色のポリゴンをマウス左ボタンでクリックします。
- 「マルチレイヤー属性照会」ウィンドウの「画地」「大字界」レイヤーに「更新日付」フィールドが表示されている事を確認します。
- 「マルチレイヤー属性照会」ウィンドウを閉じます。
- コマンドラインバーが表示されているか確認します。
表示されていなければ、[ワークスペース]-[コマンドバー]-[コマンドラインバー]を実行します。
- コマンドラインバーに「C:\sample\script27\SetFieldHideInq.js△0△3△更新日付△0△1」(△は半角スペース)と記述し、実行します。
- すると、「処理を終了しました。」メッセージウィンドウが表示されます。
【OK】ボタンをクリックします。
- アウトプットバーが表示されているか確認します。
表示されていなければ、[ワークスペース]-[コマンドバー]-[アウトプットバー]を実行します。
- アウトプットバーのメッセージパネルに行った処理の内容が出力されます。
- 再度、[属性]-[属性照会]-[ポリゴンマルチレイヤー属性照会]を実行し、黄色のポリゴンをマウス左ボタンでクリックします。
- 「マルチレイヤー属性照会」ウィンドウの「画地」「大字界」レイヤーに「更新日付」フィールドが表示されていない事が確認できます。

|