サポート > PC-MAPPING ヒント集 > スクリプト > スクリプトによる属性データ表示制御
スクリプトによる属性データ表示制御
指定したフィールドタイトルから、全レイヤーの各ベクター要素、または全データベースにある同一名称フィールドを検索し、[属性データ表示制御]ダイアログボックスの各項目のON/OFFを行います。
なお、[属性データ表示制御]ダイアログボックスの各項目のON/OFFは、レイヤーの各ベクター要素パネル、または属性データベース設定にある【表示制御】ボタンから行えます。
■ サンプル
サンプル[script27.zip(約40KB)]をダウンロードする
sample.pcm:サンプルプロジェクト
SetFieldHideInq.js:サンプルJScript

■ 準備
  1. ダウンロードしたファイルを解凍します。
    ここでは、「C:\sample\script27」とします。

  2. PC-Mappingを起動します。

  3. 「C:\sample\script27\sample.pcm」を開きます。

  4. 「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 ()メソッドで設定内容を変更したフィールドのオブジェクトを指定したフィールドに反映します。

■ 実行
「属性照会」ウィンドウ表示時、「画地」「道路水路境界」「大字界」レイヤーポリゴン内部属性「更新日付」フィールドを非表示にします。

  1. ベクターウィンドウをアクティブにします。

  2. [属性]-[属性照会]-[ポリゴンマルチレイヤー属性照会]を実行し、黄色のポリゴンをマウス左ボタンでクリックします。

  3. 「マルチレイヤー属性照会」ウィンドウの「画地」「大字界」レイヤーに「更新日付」フィールドが表示されている事を確認します。

  4. 「マルチレイヤー属性照会」ウィンドウを閉じます。

  5. コマンドラインバーが表示されているか確認します。
    表示されていなければ、[ワークスペース]-[コマンドバー]-[コマンドラインバー]を実行します。

  6. コマンドラインバーに「C:\sample\script27\SetFieldHideInq.js△0△3△更新日付△0△1」(△は半角スペース)と記述し、実行します。

  7. すると、「処理を終了しました。」メッセージウィンドウが表示されます。
    【OK】ボタンをクリックします。

  8. アウトプットバーが表示されているか確認します。
    表示されていなければ、[ワークスペース]-[コマンドバー]-[アウトプットバー]を実行します。

  9. アウトプットバーのメッセージパネルに行った処理の内容が出力されます。

  10. 再度、[属性]-[属性照会]-[ポリゴンマルチレイヤー属性照会]を実行し、黄色のポリゴンをマウス左ボタンでクリックします。

  11. 「マルチレイヤー属性照会」ウィンドウの「画地」「大字界」レイヤーに「更新日付」フィールドが表示されていない事が確認できます。