属性のカスタマイズ
Windchill オブジェクトの属性の表示をカスタマイズできます。
バックグラウンド
Windchill では、すべてのクライアントアプリケーションで一貫した属性の動作を提供することが試みられます。Windchill クライアントインフラストラクチャでは、標準の Windchill でサポートされるデータタイプの属性のレンダリングがサポートされています (詳細については、このトピックの「属性のタイプ」のセクションを参照してください)。このインフラストラクチャには、標準データ取得、レンダリングとフォーム処理のメカニズム、および属性の UI エレメントのレンダリングに再使用可能なコンポーネントからなります。これらのコンポーネントでは、属性定義からのメタデータ、その属性に定義されているコンフィギュレーション、属性の永続値が考慮されます。
Windchill には、属性の表示と動作をカスタマイズするための複数のコンフィギュレーションポイントがあります。コンフィギュレーションツールとしては「タイプおよび属性の管理」ユーティリティが推奨されます。場合によっては、次のようなその他のコンフィギュレーションポイントを使用する必要があります。
モデル化された Windchill クラスの Java ソースファイル。詳細については、モデリング列の "GeneratedProperty" を参照してください。
オブジェクト初期化規則管理。詳細は、オブジェクト初期化規則についてを参照してください。
プリファレンス管理。詳細は、プリファレンス管理ユーティリティについてを参照してください。
プロファイル管理。詳細については、表示制御メカニズムとしてのプロフィールを参照してください。
一般的なコンフィギュレーション:
制約
「タイプおよび属性の管理」ユーティリティで属性に設定可能なプロパティ
属性のデフォルト値
属性の動作に暗黙的に影響を与えるその他の要素:
Windchill UI の規格に準拠するためにインフラストラクチャに組み込まれた動作
DB コンフィギュレーション
属性バリデータ (詳細についてはUI の検証を参照)
また、標準的なレンダリングおよびデータ取得動作をオーバーライドする機能があり、カスタマイズを行うための機能も拡張されます。詳細については、このトピックの「データユーティリティ」のセクションを参照してください。
属性コンフィギュレーションの範囲
Windchill では、コンフィギュレーションの範囲を制御するメカニズムとして、同じコンフィギュレーションに複数のコンフィギュレーションポイントが提供されています。一般的に、コンフィギュレーションには 3 つの範囲があります。
すべての画面上にあるすべてのオブジェクトタイプのすべての属性に適用されるコンフィギュレーション。これは通常、プリファレンス管理ユーティリティで設定します。
すべての画面上にある 1 つのタイプの 1 つの属性に適用されるコンフィギュレーション。属性定義は「タイプおよび属性の管理」ユーティリティで設定します。
特定の UI の 1 つのタイプの 1 つの属性のみに適用されるコンフィギュレーション。属性レイアウトは、「タイプおよび属性の管理」ユーティリティで設定するか、java ビルダーを使用してコンポーネントのコンフィギュレーションを定義する際に設定します。
特定のコンフィギュレーションでは、後方互換性を確保するため、範囲が同じ複数のコンフィギュレーションポイントを使用可能です。
複数のコンフィギュレーションポイントを使用して設定されたコンフィギュレーションの値を解決するときのメカニズムはコンフィギュレーションによって異なり、これについてはこのトピックの「共通 Windchill ビジネス属性のカスタマイズ」のセクションに詳しい説明があります。
属性の制約のオーバーライドに関する規則については、「タイプおよび属性の管理」ユーティリティで制約の管理を参照してください。
用語
頻繁に使用される用語の定義
用語
定義
属性パネル
属性レイアウト定義に従って属性が名前と値のペアとして表示される UI。
クライアント/画面
属性が表示されるエンドユーザーの UI。例: 作成ウィザードの属性ステップ
情報ページのプライマリ属性
主に一部の属性を表示するときに使用する、情報ページの属性パネル。これは、通常、情報ページの先頭に表示されます。
情報ページの全属性リスト
主に多数の属性を表示するときに使用する、情報ページの属性パネル。
GUI コンポーネント/UI コンポーネント
ユーザーの画面に表示される UI ウィジェット (または複合 UI ウィジェット)。ここからユーザーは属性の値を入力したり、属性の値を表示したりすることができます。
属性プロパティ
「タイプおよび属性の管理」ユーティリティで、またはその他のコンフィギュレーションポイントを使用して属性に設定可能なプロパティ。プロパティを設定することで、属性の表示とデータ取得をカスタマイズできます。
Windchill 属性のカスタマイズの概要
UI に属性をレンダーするには 3 つのステップがあります。
1. UI の属性の配置
2. 属性の UI ウィジェットを設定 (オプション)
3. データソースをカスタマイズ (オプション)
このうち、ステップ 1 と 2 が最も必要とされるステップです。ここでは主にこの 2 つの項目について説明します。
UI の属性の配置
Windchill ではローカル属性コンテナとして以下がサポートされています。
属性パネル。詳細については、属性パネルを参照してください。
属性テーブル。詳細については、属性テーブルを参照してください。
これらのコンテナの外の UI にも属性を表示できます。
属性の UI ウィジェットの設定
OOTB Windchill では、特定の属性に使用する UI コンポーネントが以下に基づいて自動的に決まります。
Windchill UI の仕様
属性のデータ型
属性に定義されている制約およびその他のコンフィギュレーション
Windchill コンフィギュレーションポイントでは、ウィジェットの一部のレンダリングプロパティを変更できます。
非常にまれなケースでは、コンフィギュレーションを使用して代替ウィジェットを指定できます。その他の場合、代替ウィジェットを属性にマッピングするにはカスタムデータユーティリティを記述する必要があります。詳細については、このトピックの「データユーティリティクラスの作成」のセクションを参照してください。
データソースのカスタマイズ
特定の UI に指定された属性のデータソースを、一部のデータ取得プロパティを設定することによって変更できますが、これは非常に特殊なカスタマイズの要件がある場合にのみ行います。
Windchill 属性のタイプ
Windchill では次の 5 つの属性タイプがサポートされています。
1. モデル化 (詳細についてはモデリング列を参照)
2. グローバル
(詳細については新規属性の作成を参照)
3. ローカル (詳細については新規属性の作成を参照)
4. エイリアス (詳細については新規属性の作成を参照)
5. 計算 (詳細については新規属性の作成を参照)
計算属性とエイリアス属性
エイリアス属性と一部の計算属性は、その他の属性の値から導かれます。このため、これらの属性を作成クライアントや編集クライアントで使用してはなりません。作成または編集レイアウトで使用する場合、「(割当できません)」と表示されます。これらは属性の永続値が表示される UI で使用できます。
定数値に基づく計算属性は、クライアントの作成および編集時に表示されることがあります。
これらの属性の定義については、新規属性の作成を参照してください。
Windchill 属性の設定
Windchill オブジェクトの属性は、一般的には入力モードとビューモードと呼ばれる 2 つのモードのいずれかでレンダーされます。入力モードでは、ユーザーが属性の値を設定/編集できます。ビューモードでは、属性の値が編集不可能なモードで表示されます。
以降のセクションでは、入力フィールドと値フィールドの表示に関連する各部分のデフォルトの実装をデータタイプごとに説明します。
文字列
デフォルトの動作および使用可能な設定
入力
ビュー
レンダリング:
レンダリング:
UI 設定:
必須の入力
デフォルト値
入力値の検証と有効値リスト
表示および修正可能性
複数値 (グローバル IBA のみ)
カスタムラベルの定義
文字列属性の入力フィールドのサイズの制御
文字列属性に入力される値の長さの制限
UI 設定:
表示 (このトピックの「表示および修正可能性」のセクションを参照してください)
複数値 (グローバル IBA のみ)
カスタムラベルの定義
ハイパーリンクを作成 (このトピックの「コンフィギュレーションポイント」のセクションを参照してください)
文字列値をすべて大文字またはすべて小文字にする
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」のセクションを参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」のセクションを参照してください)
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」のセクションを参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」のセクションを参照してください)
日付と時刻
日付属性と時刻属性を使用して、日付のみの値 (yyyy-mm-dd) または日付と時刻の値 (yyyy-mm-dd hh:mm) が保存されます。
デフォルトの動作および使用可能な設定
入力
ビュー
レンダリング:
レンダリング:
UI 設定:
必須の入力
デフォルト値
入力値の検証と有効値リスト
表示および修正可能性
複数値 (グローバル IBA のみ)
カスタムラベルの定義
日付入力フィールドタイプ (詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください)
現地のタイムゾーン (詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください)
UI 設定:
表示 (「表示および修正可能性」を参照してください)
複数値 (グローバル IBA のみ)
カスタムラベルの定義
日付の表示形式 (詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください)
現地のタイムゾーン (「コンフィギュレーションポイント」を参照してください)
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」のセクションを参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」のセクションを参照してください)
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」のセクションを参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」のセクションを参照してください)
整数
デフォルトの動作および使用可能な設定
入力
ビュー
レンダリング:
レンダリング:
コンフィギュレーション:
必須の入力
デフォルト値
入力値の検証と有効値リスト
表示および修正可能性
複数値 (グローバル IBA のみ)
カスタムラベルの定義
コンフィギュレーション:
表示 (詳細については、このトピックの「表示および修正可能性」のセクションを参照してください)
複数値 (グローバル IBA のみ)
カスタムラベルの定義
割合 (詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください)
通貨 (詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください)
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」のセクションを参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」のセクションを参照してください)
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」のセクションを参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」のセクションを参照してください)
実数
実数は 10 進表現で保存されます (例: 1.23)。
デフォルトの動作および使用可能な設定
入力
ビュー
レンダリング:
レンダリング:
コンフィギュレーション:
必須の入力
デフォルト値
入力値の検証と有効値リスト
表示および修正可能性
複数値 (グローバル IBA のみ)
カスタムラベルの定義
コンフィギュレーション:
表示 (詳細については、このトピックの「表示および修正可能性」のセクションを参照してください)
複数値 (グローバル IBA のみ)
カスタムラベルの定義
割合 (詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください)
通貨 (詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください)
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」のセクションを参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」のセクションを参照してください)
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」のセクションを参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」のセクションを参照してください)
単位を持つ実数
デフォルトの動作および使用可能な設定
入力
ビュー
レンダリング:
レンダリング:
コンフィギュレーション:
必須の入力
デフォルト値
入力値の検証と有効値リスト
表示および修正可能性
複数値 (グローバル IBA のみ)
カスタムラベルの定義
測定システム (詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください)
コンフィギュレーション:
表示 (詳細については、このトピックの「表示および修正可能性」のセクションを参照してください)
複数値 (グローバル IBA のみ)
カスタムラベルの定義
割合 (詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください)
通貨 (詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください)
測定システム (詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください)
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」を参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」を参照してください)
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」を参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」を参照してください)
ブール
デフォルトの動作および使用可能な設定
入力
ビュー
レンダリング:
レンダリング:
コンフィギュレーション:
必須の入力
デフォルト値
表示および修正可能性
カスタムラベルの定義
コンフィギュレーション:
表示 (詳細については、このトピックの「表示および修正可能性」のセクションを参照してください)
カスタムラベルの定義
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」のセクションを参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」のセクションを参照してください)
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」のセクションを参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」のセクションを参照してください)
「空白のオプションを含める」を使用して、「未定義」オプションを表示するかどうかを制御します。詳細については、コンフィギュレーションポイントを参照してください。
ハイパーリンク (「再利用可能な属性を管理」ユーティリティでは URL)
ハイパーリンク属性を使用して、Windchill の外のシステムへのリンクを作成します。この属性の値は完全修飾 URL でなければなりません。
例:
有効な値: http://www.ptc.com または www.ptc.com
無効な値: ptc.com
デフォルトの動作および使用可能な設定
入力
ビュー
レンダリング:
レンダリング:
コンフィギュレーション:
必須の入力
デフォルト値
入力値の検証と有効値リスト
表示および修正可能性
複数値 (グローバル IBA のみ)
カスタムラベルの定義
コンフィギュレーション:
表示 (詳細については、このトピックの「表示および修正可能性」のセクションを参照してください)
複数値 (グローバル IBA のみ)
カスタムラベルの定義
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」のセクションを参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」のセクションを参照してください)
データ取得設定:
データのソースの設定 (詳細については、このトピックの「データ取得のカスタマイズ」のセクションを参照してください)
データユーティリティの設定 (詳細については、このトピックの「データユーティリティ」のセクションを参照してください)
オブジェクト参照属性
オブジェクト参照属性では一部のクライアントインフラストラクチャがサポートされています。オブジェクト参照タイプ属性の表示がデフォルトでサポートされています。オブジェクト参照タイプ属性の入力/編集は一部の属性と用途でのみ可能であり、一般的には再使用やカスタマイズではサポートされていません。
属性カスタマイズの一般的な手順
以下の属性カスタマイズが可能です。
必須の入力
デフォルト値
表示および修正可能性
入力値の検証と有効値リスト
文字列属性に入力される値の長さの制限
文字列属性の入力フィールドのサイズの制御
複数値 (グローバル IBA のみ)
文字列値をすべて大文字またはすべて小文字にする
ハイパーリンクの自動作成
カスタムラベルの定義
データ取得のカスタマイズ
代替 UI 動作の指定
必須の入力
属性への値の指定を必須にすることができます。
ソリューションエレメント
エレメント
説明
必須の制約
このコンフィギュレーションは属性が表示されるすべての UI の属性に適用されます。この規則は、UI と、DB での永続化中の両方に適用されます。例外については、com.ptc.windchill.annotations.metadata.PropertyConstraints の Javadoc を参照してください。
制約は次のいずれかのコンフィギュレーションポイントを使用して設定できます。
モデル化された属性:
必須の PropertyConstraint アノテーション (詳細はビジネスオブジェクトのモデル化を参照してください)
「タイプおよび属性の管理」ユーティリティで必要な制約 (詳細は制約タブを参照してください)
グローバル属性とローカル属性:
「タイプおよび属性の管理」ユーティリティで必要な制約 (詳細は制約タブを参照してください)
「入力必須」プロパティ
プロパティ Input Required は、モデル属性、グローバル属性、ローカル属性のいずれかに設定することが可能です。
範囲: プロパティが設定されている特定の属性パネルでのみ、このコンフィギュレーションがこの属性に適用されます。この設定は UI 専用の規則であり、DB での永続化中は適用されません。
すでに必須制約がある属性で必須の入力を無効にするために Input Required プロパティを使用することはできません。
予測される結果
属性パネルなどで属性が名前と値のペアとして表示されている場合、その属性のラベルの先頭には '*' が付きます。
データがサブミットされるかユーザーが別の画面に切り替えると、検証メッセージが表示されます。このメッセージはカスタマイズできません。
ソリューション
異なった種類の動作を実行するのに必要な設定は、次にリストされています。
やりたいこと・・・
コンフィギュレーション
入力/編集用に属性が表示されるすべての UI で入力を必須にする
必須制約の使用
データのインポートや、プログラムによるオブジェクト/属性の作成など、値を入力するための UI が属性にない場合に、入力を必須にする。
必須制約の使用
特定の UI でのみ属性の入力を必須にする。
「入力必須」プロパティの使用
UI でのみ属性の入力を必須にする。値がプログラムによって与えられる場合など、UI の外ではこれを適用しない。
「入力必須」プロパティの使用
* 
データ入力が可能なテーブルで、"*" は列ヘッダーに追加されません。これは、テーブルの特定の列に複数のオブジェクトタイプが表示されている場合、タイプによって属性が必須のものとそうでないものがあるためです。
デフォルト値
属性のデフォルト値を指定する必要があります。
ソリューションエレメント
エレメント
説明
initialValue
属性のデフォルト値を指定するプロパティ。モデル化属性のみに適用します。
詳細については、com.ptc.windchill.annotations.metadata.GeneratedProperty の Javadoc とビジネスオブジェクトのモデル化を参照してください。
デフォルト値
「タイプおよび属性の管理」ユーティリティの設定。
詳細は、デフォルト値タブを参照してください。
オブジェクト初期化規則
詳細については、オブジェクト初期化規則を参照してください。
デフォルト値表示モード
UI でのデフォルト値の表示方法を設定するプロパティ。詳細については、コンフィギュレーションポイントの「デフォルト値表示モード」を参照してください。
予測される結果
デフォルト値は次の 3 つのモードのいずれかで UI に表示され、デフォルト値は自動的に残ります。
デフォルト値ボタン
フィールドへのデフォルト値の事前設定
デフォルト値を表示しない
ソリューション
属性のデフォルト値を指定する必要があります。
異なった種類の動作を実行するのに必要な設定は、次にリストされています。
やりたいこと・・・
コンフィギュレーション
Create UI でのみ使用されるデフォルト値を指定する
UI で値が指定されなかった場合、この値を自動的に永続化しません。
モデル化属性の場合、初期値プロパティを使用します。
グローバル属性とローカル属性の場合、「タイプおよび属性の管理」ユーティリティでデフォルト値を指定します。
詳細は、デフォルト値タブを参照してください。
Create UI と永続化で使用されるデフォルト値を指定する
永続化のポイントまで値が指定されなかった場合、その属性についてこの値を自動的に永続化します。
オブジェクト初期化規則を使用してデフォルト値を指定します。
Create UI に表示されない属性のデフォルト値を指定し、この値を永続化に使用する
UI を使用せずにプログラムでオブジェクトを作成したい場合や、オブジェクトの属性が属性の Create UI に追加されていない場合に適用されます。
* 
オブジェクトモデルに初期値が設定されている属性にオブジェクト初期化規則を適用することはできません。
オブジェクト初期化規則を使用してデフォルト値を指定します。
UI でのデフォルト値の表示方法を指定する
デフォルト値表示モードプロパティを使用します。
制限事項
オブジェクト初期化規則で指定されているデフォルト値は「タイプおよび属性の管理」ユーティリティに反映されません。
永続化中に属性に設定された値が UI でその属性に表示されます。このため、モデル化クラスまたは「タイプおよび属性の管理」ユーティリティでデフォルト値が指定されている場合、この値は UI での表示のみに使用されます。いずれかの表示方法によって属性の値としてデフォルト値が UI に表示されている場合を除き、永続化中に属性のデフォルト値が自動的に設定されることはありません。オブジェクト初期化規則を使用して指定されたデフォルト値のみが自動的に保存されます。
表示および修正可能性
属性の表示と修正可能性を制御できます。
ソリューションエレメント
エレメント
説明
不変性の制約
「タイプおよび属性の管理」ユーティリティで定義される制約。詳細は、属性の制約規則を参照してください。
変更可能制約
プロパティの制約。モデル化属性のみに適用します。
詳細については、com.ptc.windchill.annotations.metadata.PropertyConstraints の Javadoc とビジネスオブジェクトのモデル化を参照してください。
「タイプおよび属性の管理」ユーティリティでの表示設定。
「タイプおよび属性の管理」ユーティリティの設定。詳細については、表示タブを参照してください。
役割ベース属性の表示
プロフィール管理ツールでの設定。詳細については、プロフィールの管理を参照してください。
属性バリデータ
属性の検証とフィルタの実行に使用可能な Java クラス。詳細については、UI の検証を参照してください。
予測される結果
各種コンフィギュレーションのビューモードでの属性の表示を次に示します。
テーブルの外
テーブル内
非表示の属性
属性 (ラベルと値の両方) は表示されません。
列ヘッダーが表示されます。属性が非表示の行オブジェクトには、"(セキュリティ保護されている情報)" と表示されます。
作成者
(非表示)
非表示の値
作成者: (非表示)
作成者
(非表示)
読み取り専用
属性に値がない場合
作成者: (割当できません)
属性に値がある場合
作成者: John Doe
属性に値がない場合:
作成者
(割当できません)
属性に値がある場合:
作成者
John Doe
読み書き
属性にまだ値がない場合
作成者:
属性に値がある場合
作成者:
John Doe
属性にまだ値がない場合:
作成者
属性に値がある場合:
作成者
John Doe
ソリューション
異なった種類の動作を実行するのに必要な設定は、次にリストされています。
やりたいこと・・・
コンフィギュレーション
すべてのプロフィールで、特定の UI で属性を常に非表示にする
UI からこれを除外します (属性パネルやテーブルコンフィギュレーションに追加しません)。
すべてのプロフィールで、特定のビジネスロジックに基づいて、特定の UI で属性を非表示にする
検証サービスを利用します。
特定のプロフィールでのみ、すべての UI で属性を非表示にする
役割ベース属性の表示を使用します。
制限: この機能はグローバル属性でのみ使用できます。詳細は、新規属性を作成を参照してください。
表示されているすべての UI で属性を常に修正不可能にする
不変性の制約/変更可能制約を使用します。
制限: 作成または編集時に属性が不変の場合、更新されるフィールドが配置される UI の領域にはこれを追加しないでください。
すべてのプロフィールで、特定の UI における属性の修正可能性 (値を非表示にする、値を編集可能または読み取り専用にする) を制御する
エンドユーザー UI での属性の修正可能性を制御するには、「タイプおよび属性の管理」ユーティリティの表示設定を使用します。詳細については、タイプマネージャでの表示設定を参照してください。
制限: この機能は Create UI と Edit UI でのみ使用できます。
さらに、現時点では、表示および修正可能性の設定はローカル属性の動作を持つ属性 (すべてのローカル属性、グローバル属性、および一部のモデル化属性) でのみ考慮されます。特殊な OOTB 動作があるモデル化属性 (名前、番号、プリンシパルなど) にはこのコンフィギュレーションは反映されません。
特定のプロファイルでのみ、すべての UI における属性の修正可能性 (値を非表示にする、値を編集可能または読み取り専用にする) を制御する
役割ベース属性の表示を使用します。
制限: この機能はグローバル属性でのみ使用できます。詳細は、新規属性を作成を参照してください。
複数コンフィギュレーションの解決
グローバル属性の表示がプロフィール管理ツールと「タイプおよび属性の管理」ユーティリティの両方で設定されている場合、次のように解決されます。
「タイプおよび属性の管理」ユーティリティとプロフィール管理ツールの結果のうちの最も制限された設定がその属性の最終的な表示設定になります。
例: 属性 'Color' の表示設定
プロフィール管理ツール:
値は非表示
「タイプおよび属性の管理」ユーティリティ (作成画面の場合) は次のとおりです。
読み取り専用
Create UI に適用される表示設定:
値は非表示 (2 つの設定のうちこれが最も制限された設定です)
入力値の検証、有効値リスト、カスケード属性
属性に使用可能な値を制限できます。
ソリューションエレメント
エレメント
説明
有効値リスト制約
「タイプおよび属性の管理」ユーティリティで定義される制約。詳細は、属性の制約規則を参照してください。
列挙リスト制約
「タイプおよび属性の管理」ユーティリティで定義される制約。詳細は、属性の制約規則を参照してください。
モデル化クラス定義での EnumeratedType
詳細については、特殊永続化構文の「GenAsEnueratedType 列」のセクションを参照してください。
カスケード属性
「タイプおよび属性の管理」ユーティリティで定義される属性間の依存。「カスケード属性」タブを参照してください。
有効範囲制約
「タイプおよび属性の管理」ユーティリティで定義される制約。詳細は、属性の制約規則を参照してください。
upperLimit 制約、lowerLimit 制約
モデルクラスを定義する際に制約が定義されます。PropertyConstraints の詳細については、ビジネスオブジェクトのモデル化を参照してください。数値属性に使用した場合は範囲制約と機能は同じです。
ワイルドカード制約
「タイプおよび属性の管理」ユーティリティで定義される制約。詳細は、属性の制約規則を参照してください。
正規表現制約
「タイプおよび属性の管理」ユーティリティで定義される制約。詳細は、属性の制約規則を参照してください。
文字列フォーマット制約
「タイプおよび属性の管理」ユーティリティで定義される制約。詳細は、属性の制約規則を参照してください。
重複した値なし制約
「タイプおよび属性の管理」ユーティリティで定義される制約。詳細は、属性の制約規則を参照してください。
選択リストのスタイル
UI での有効値の表示方法を指定するプロパティ。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「選択リストのスタイル」を参照してください。
空白オプションを含める
有効値リストに空白オプションを含めるかどうかを指定するプロパティ。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「空白オプションを含める」を参照してください。
予測される結果
次の 1 つ以上を行えます。
ユーザーの選択元となる有効な値のセットを指定することで、入力を制限する。
例:
「空白のオプションを含める」が true に設定されている場合
「空白のオプションを含める」が false に設定されている場合
両方の属性に有効な値のセットを定義しておくことで、ある属性の値を使用して別の属性の値を定義する。
ユーザー入力を一定の範囲内に制限し、値が範囲から外れている場合には検証メッセージを表示する。
文字列属性のユーザー入力を特定の文字パターンに従わせる。入力した値が制約で指定されているパターンに従っていない場合に検証メッセージを表示する。
ユーザー入力値は一意である必要がある。
ソリューション
ソリューションエレメントを組み合わせるには、次に示す異なった種類の動作を実行することが必要です。
やりたいこと・・・
コンフィギュレーション
属性の有効値を含むドロップダウンリストを表示し (ラジオボタンのグループとしても設定可能)、ユーザーが値を入力できないようにする。
グローバル属性とローカル属性の場合、以下を使用します。
ローカライズされていないリストでは有効値リスト
ローカライズされたリストでは列挙リスト
モデル化された属性の場合、以下を使用します。
モデル化クラス定義での EnumeratedType。
再コンパイルせずに既存のモデル化属性に対して有効値リストを定義するには、「タイプおよび属性の管理」ユーティリティで、有効値リスト制約 (ローカライズされたリスト) または列挙リスト制約 (ローカライズされていないリスト) を使用します。
ユーザーが値を入力することを許可するが、値を一定の範囲内に制限する。
モデル化属性には、上限制約および下限制約を適用します。
ローカル属性とグローバル属性の場合、範囲制約を使用します。
ユーザーが値を入力することを許可するが、値を検証するため複数の範囲を定義する。
有効桁数制約
これは実数および単位を持つ実数のみに適用可能です。
ある属性の値を使用して別の属性の値を定義する。
「タイプおよび属性の管理」ユーティリティの「カスケード属性」タブを使用します。
ユーザーが入力する値が一定のパターンに従うように制限する。
ワイルドカード制約、正規表現制約、または文字列フォーマット制約を使用します。
単一のビジネスオブジェクトに対して入力された一連の値が一意であることを強制する必要がある。
「重複した値なし」制約を使用する。
UI での有効値の表示方法を指定する。
「選択リストのスタイル」プロパティを使用します。
有効値リストを使用しているときに属性のカレント値をクリアする空白オプションを含める。
「空白のオプションを含める」プロパティを使用します。
有効値リスト、有効範囲制約、有効桁数制約の結合
1 つの属性にこれらのコンフィギュレーションを複数定義できます。次の表に、これらのコンフィギュレーションを組み合わせたときに得られる効果を示します。
「タイプおよび属性の管理」ユーティリティで属性に指定されている制約
UI の動作
有効値リスト + 列挙リスト + 列挙タイプ
すべての制約で共通するリストが表示されます。つまり、定義されているすべてのリストに共通するエントリがリストに表示されます。
例:
次の制約があるものとします。
1. 列挙:
COLOR_RED = Red
COLOR_BLUE = Blue
COLOR_GREEN=Green
2. ローカライズされていない有効値のリスト
COLOR_RED
COLOR_BLUE
3. ローカライズされていない有効値のリスト
Red
Blue
ユーザーが 1 と 2 を適用した場合、有効値は次のようになります。
COLOR_RED = Red
COLOR_BLUE = Blue
ユーザーが 1 と 3 を適用した場合、空のセットが表示されます (有効値はなし)。
ある属性に指定されているすべての有効値リストを結合した場合、すべてのリストの共通リストができます (すべてのリストに共通するエントリのみが結果のリストに追加されます)。このため、複数の有効値リストが定義されている場合、空の有効値リストができる可能性があります。有効値リストが空の場合、エンドユーザーの UI には入力フィールドが表示されます。
有効値リスト + 範囲制約
範囲制約を満たす、有効値リスト内の値のみがドロップダウンに表示されます(ラジオボタンとしてコンフィギュレーション可能)。ツールチップメッセージなし。
有効値リスト + 有効桁数制約
有効桁数制約から派生した範囲を満たす、有効値リスト内の値のみがドロップダウンに表示されます(ラジオボタンとしてコンフィギュレーション可能)。ツールチップメッセージなし。
範囲制約 + 有効桁数制約
有効範囲を示すツールチップが表示される入力フィールド。検証メッセージによって有効範囲が示されます。
有効範囲とは、この 2 つの制約で共通する範囲のことです。
有効値リスト + 範囲制約 + 有効桁数制約
"範囲制約" の範囲と "有効桁数制約" の範囲の両方を満たす、離散セット内の値のみがドロップダウンに表示されます。ツールチップメッセージなし。
文字列属性に入力される値の長さの制限
文字列属性に入力される値の長さを制限できます。
ソリューションエレメント
エレメント
説明
upperLimit 制約、lowerLimit 制約
モデルクラスを定義する際に制約が定義されます。詳細については、ビジネスオブジェクトのモデル化にある PropertyConstraint の情報を参照してください。
最大文字数の制約
「タイプおよび属性の管理」ユーティリティで定義される制約。詳細は、属性の制約規則を参照してください。
入力文字数制限
プロパティ Character Entry Limit は、モデル属性、グローバル属性、ローカル属性のいずれかに設定することが可能です。詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください。
予測される結果
UI および永続化中の文字列属性の長さを制限し、制限を超えた場合にユーザーにフィードバックを返すことができます。
ソリューション
ソリューションエレメントを組み合わせるには、次に示す異なった種類の動作を実行することが必要です。
やりたいこと・・・
コンフィギュレーション
編集用に属性が表示されるすべての UI で入力を一定の文字数に制限する。
この制限は永続化にも適用されます。UI を使用せずにプログラムでオブジェクトを作成したい場合や、オブジェクトの属性が属性の Create UI に追加されていない場合に適用されます。
モデル化属性には、上限制約および下限制約を適用します。
グローバル属性とローカル属性の場合、最大文字数の制約を使用します。
最大文字数の制約をモデル化属性に使用することで、Java コードをコンパイルせずにコンフィギュレーションを行うこともできます。
制限: 名前属性の長さは Windchill UI の規格に準拠するので、この制約を使用してオーバーライドすることはできません。
特定の UI でのみ入力を一定文字数に制限する。
永続化中にはこの制限を適用しない。
「入力文字数制限」プロパティを使用します。
注記: この制限は文字列の最大長さ未満でなければなりません。
バイト長さ
エンドユーザー UI における検証では、可変幅エンコーディングとマルチバイトデータベースを使用する場合に備えて、入力された文字を保存するために必要なバイト数も考慮されます。
複数の制約定義のマージ
モデル化クラスで upperLimit 制約と lowerLimit 制約が指定され、「タイプおよび属性の管理」ユーティリティで同じ属性に 1 つ以上の文字列長さ制約が指定されている場合、これらすべての制約がまとめられて、すべてに共通する 1 つの範囲が定義されます。
このため、すべての下限値の最大が入力可能な最小文字数となります。すべての下限値の最小が入力可能な最大文字数となります。
例:
アノテーション制約: 下限 = 30 上限 = 50
「タイプおよび属性の管理」ユーティリティの最大文字数制約 1: 20 - 40
「タイプおよび属性の管理」ユーティリティの最大文字数制約 2: 35 - 45
これらすべての制約を結合した結果: 35 - 40
文字列属性の入力フィールドのサイズの制御
文字列属性の入力フィールドの物理的な幅と高さをカスタマイズできます。
ソリューションエレメント
エレメント
説明
複数行入力の文字数しきい値
プロパティまたはプリファレンスとして提供されます。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「複数行入力の文字数しきい値」を参照してください。
入力フィールドタイプ
プロパティとして提供されます。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「入力フィールドタイプ」を参照してください。
テキスト入力行
プロパティとして提供されます。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「テキスト入力行」を参照してください。
テキスト入力列
プロパティとして提供されます。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「テキスト入力列」を参照してください。
予測される結果
一部の文字列属性の入力フィールドの物理的な幅と高さをカスタマイズできます。
制限事項
名前や番号などの一部の特殊属性では幅と高さを設定できません。
レイアウト内の連結列に文字列入力属性を設定した場合、入力フィールドの幅は、連結された列の結合後の幅に合わせて拡張されます。文字列入力の長さが連結された幅よりも短い場合でも、これは発生します。
本リリースの構造ブラウザでは、列の連結はサポートされていません。
ソリューション
ソリューションエレメントを組み合わせるには、次に示す異なった種類の動作を実行することが必要です。
やりたいこと・・・
コンフィギュレーション
最大文字数の制約に基づいてすべての入力フィールドの高さを自動的にカスタマイズする。
複数行入力の文字数しきい値を使用
特定の属性についてのみ、複数行入力の文字数しきい値によって定義されている自動処理をオーバーライドする。
入力フィールドタイプを使用
特定の属性に特定のタイプのフィールド (1 行または複数行) を常に表示する。
入力フィールドタイプを使用
複数行テキストの入力フィールド内の、スクロールなしで表示される実際の行数を指定する。
テキスト入力行を使用
入力フィールドの幅をカスタマイズする。
テキスト入力列を使用
注記: ほとんどのフィールドでは、フィールドの幅は、デフォルトで、Windchill UI 規格によって指定されている幅、および属性の最大文字数制約によって決まります。
複数値 (グローバル属性のみ)
1 つの属性に複数の値を割り当てることができます。
ソリューションエレメント
エレメント
説明
単一値制約
「タイプおよび属性の管理」ユーティリティで定義される制約。詳細は、属性の制約規則を参照してください。
多値属性の区切り記号。
プリファレンス。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「多値属性の区切り記号」を参照してください。
重複した値なし
複数値指定属性の値のセットが一意であることを強制する制約。重複する値は許可されません。
予測される結果
以下を行えます。
1 つの属性に複数の値を入力する
1 つの属性に保存されている複数の値を編集する
属性の編集時に値を追加/除去する
入力値がそれぞれ一意であるように強制する
'ビュー' モードの UI に複数の値を表示する場合に使用されるセパレータをカスタマイズする
ソリューション
グローバル属性に複数の値を割り当てるには、その単一値制約を除去します。詳細は、属性の制約規則を参照してください。
それぞれの値が必ず一意であるようにするには、「重複した値なし」制約を追加します。これを行わないと、値が重複する可能性があります。
グローバル属性に割り当てられている複数の値が 'ビュー' モードの UI に表示される場合、値はコンマで区切られます。セパレータをカスタマイズするには、「多値属性の区切り記号」プリファレンスを使用します。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「多値属性の区切り記号」を参照してください。
制限: 現在のところ、エイリアス属性と計算属性では多値はサポートされていません。
文字列値をすべて大文字またはすべて小文字にする
文字列値をすべて大文字またはすべて小文字にし、値の提供元のユーザーやシステムにはこの要件が適用されないようにすることができます。
ソリューションエレメント
エレメント
説明
小文字制約
「タイプおよび属性の管理」ユーティリティで定義される制約。詳細は、属性の制約規則を参照してください。
大文字制約
「タイプおよび属性の管理」ユーティリティで定義される制約。詳細は、属性の制約規則を参照してください。
予測される結果
Create UI または Edit UI で文字列の値を任意の大きさ (大文字、小文字、大文字小文字の混在) で入力し、これらを自動的に保存してすべて大文字またはすべて小文字で表示できます。
Create UI または Edit UI でプログラムによって (java コードやインポート操作などを使用して) 文字列属性の値を任意の大きさ (大文字、小文字、大文字小文字の混在) に設定し、これらを自動的に保存してすべて大文字またはすべて小文字で表示できます。
ソリューション
`
文字列属性の値をすべて小文字に自動的に変換するには、小文字制約を使用します。
文字列属性の値をすべて大文字に自動的に変換するには、大文字制約を使用します。
ハイパーリンクの自動作成
文字列値に埋め込まれているハイパーリンクテキストから HTML ハイパーリンクへの自動変換を制御できます。
ソリューションエレメント
エレメント
説明
「ハイパーリンクを作成」プリファレンス
このプリファレンスは「属性処理」カテゴリにあります。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「ハイパーリンクを作成」を参照してください。
「ハイパーリンクを作成」プロパティ
「タイプおよび属性の管理」ユーティリティの「属性定義」にあります。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「ハイパーリンクを作成」を参照してください。
予測される結果
文字列値に埋め込まれているハイパーリンクテキストから HTML ハイパーリンクへの自動変換の文字列属性を設定できます。
文字列値に埋め込まれているハイパーリンクテキストから HTML ハイパーリンクへの自動変換を防止できます。
ソリューション
すべての属性についてこの設定を行うには、「ハイパーリンクを作成」プリファレンスを使用します。このプリファレンスは「属性処理」カテゴリにあります。
特定の属性についてこの設定を行うには、「タイプおよび属性の管理」ユーティリティの属性定義で設定可能な「ハイパーリンクを作成」プロパティを使用します。
* 
プロパティの値によってプリファレンスの値がオーバーライドされます。
カスタムラベルの定義
属性に表示されるラベルをカスタマイズできます。
ソリューションエレメント
エレメント
説明
「ラベル」プロパティ
「タイプおよび属性の管理」ユーティリティで定義されるプロパティ。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「ラベル」を参照してください。
「表示名」プロパティ
「タイプおよび属性の管理」ユーティリティの「属性定義」で定義されるプロパティ。詳細については、「タイプおよび属性の管理」ユーティリティのヘルプトピックの属性情報ページを参照してください。
rbInfo ファイル
componentRB.rbInfo
tableRB.rbInfo
com.ptc.core.htmlcomp.jstable.jstableResource
com.ptc.core.ui.tableRB
wt.enterprise.enterpriseResource (これはデフォルトとしても使用されます)
wt.identity.identityResource
wt.templateutil.table.tableResource
com.ptc.windchill.cadx.ws.wsResource
予測される結果
ソリューション
ソリューションエレメントを組み合わせるには、次に示す異なった種類の動作を実行することが必要です。
やりたいこと・・・
コンフィギュレーション
1 つの属性パネルのみにカスタムラベルを使用する
「ラベル」プロパティを使用します。
特定のテーブルの属性のみにカスタム列ヘッダーを使用する
Java ビルダークラスを使用してテーブルが定義されている場合、属性を表す列に com.ptc.mvc.components.ComponentConfig を定義する際に setLabel() メソッドを使用してカスタムラベルを設定します。詳細については、Javadoc を参照してください。
この属性が表示されるすべての属性パネルで同じカスタムラベルを使用する
TypeManaged オブジェクトの属性には、「表示名」プロパティを使用します。
属性が表示されるすべてのテーブルで、この属性に同じカスタム列ヘッダーを使用する
次のいずれかの rbInfo ファイルにエントリがある属性の場合、rbInfo ファイルエントリを修正します。
com.ptc.core.htmlcomp.jstable.jstableResource
com.ptc.core.ui.tableRB
wt.enterprise.enterpriseResource (これはデフォルトとしても使用されます)
wt.identity.identityResource
wt.templateutil.table.tableResource
com.ptc.windchill.cadx.ws.wsResource
その他すべての属性では、「タイプおよび属性の管理」ユーティリティの属性情報ページを使用して、属性の「表示名」プロパティをカスタムラベルに設定します。
その他すべての属性では、「タイプおよび属性の管理」ユーティリティの属性情報ページを使用して、属性の「表示名」プロパティをカスタムラベルに設定します。
属性のラベルのソースを指定する
ロガー com.ptc.core.components.labels を有効にします。
データ取得のカスタマイズ
属性のデータのソースをカスタマイズできます。
ソリューションエレメント
エレメント
説明
データユーティリティ ID
「タイプおよび属性の管理」ユーティリティまたはコンポーネントビルダーで定義されるプロパティ。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「データユーティリティ ID」を参照してください。
Need プロパティ
「タイプおよび属性の管理」ユーティリティで定義されるプロパティ。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「Need」を参照してください。
ターゲットオブジェクトのプロパティ
「タイプおよび属性の管理」ユーティリティで定義されるプロパティ。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「ターゲットオブジェクト」を参照してください。
予測される結果
属性データは、デフォルト以外の属性から呼び出すことが可能です。
ソリューション
ソリューションエレメントを組み合わせるには、次に示す異なった種類の動作を実行することが必要です。
やりたいこと・・・
コンフィギュレーション
複合属性または参照属性のデータソースを指定する
状態属性の値は実際には State.state から取得されます。このタイプに定義されている属性は「状態」です。コンポーネントのコンフィギュレーションを定義する場合、この属性のデータソースが State.state であることを示すには、状態属性の Need プロパティの値を State.state に設定します。
UI だけに別のデータソースを指定する
コンポーネントのコンフィギュレーションを定義する際に、属性の Need プロパティの値を設定します。
カスタムロジックを使用して複数の属性のデータをアセンブリして、UI に表示される値を形成します。
可能な場合には必ず、計算属性を定義します。
必要な計算が計算属性に対する現在のサポートの範囲外である場合、カスタムデータユーティリティを使用します。コンポーネントのコンフィギュレーションを定義する際に、属性の Need プロパティの値を、値を計算するためにフェッチする必要がある属性のリストに設定します。
例:
attributeConfig.setNeed("name, number, creator");
代替 UI 動作の指定
特別な場合にのみ、データユーティリティがすでにマッピングされている、名前などのローカル属性のレンダリングをカスタマイズする必要が生じることがあります。属性 ID がデータユーティリティにすでにマッピングされているので、同じ属性 ID を使用して別のマッピングを追加しても予想どおりには機能しません。詳細については、データユーティリティ を参照してください。
ソリューションエレメント
エレメント
説明
データユーティリティ ID
「タイプおよび属性の管理」ユーティリティまたはコンポーネントビルダーで定義されるプロパティ。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「データユーティリティ ID」を参照してください。
Need プロパティ
「タイプおよび属性の管理」ユーティリティで定義されるプロパティ。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「Need」を参照してください。
ターゲットオブジェクトのプロパティ
「タイプおよび属性の管理」ユーティリティで定義されるプロパティ。詳細については、このトピックの「コンフィギュレーションポイント」のセクションの「ターゲットオブジェクト」を参照してください。
予測される結果
属性データは、デフォルト以外の属性から呼び出すことが可能です。
ソリューション
ソリューションエレメントを組み合わせるには、次に示す異なった種類の動作を実行することが必要です。
やりたいこと・・・
コンフィギュレーション
属性にすでにデータユーティリティがマッピングされている場合に、カスタムデータユーティリティを使用して次の UI に属性をレンダーする。
「タイプおよび属性の管理」ユーティリティまたはビルダークラスを使用して定義された属性パネル
「タイプおよび属性の管理」ユーティリティまたはビルダークラスを使用して定義されたテーブル
例:
カスタムデータユーティリティ MyNumberDataUtility を使用して番号をレンダーするには
1. カスタムデータユーティリティ (MyNumberDataUtility) を定義します
2. xconf ファイルでは、カスタムデータユーティリティをカスタム属性 ID (myNumber) にマッピングします詳細については、このトピックの「属性 ID へのデータユーティリティのマッピング」のセクションを参照してください。
3. その属性の「データユーティリティ ID」のプロパティを「myNumber」に設定します
既存のデータユーティリティを使用して、属性がレンダーされるすべての UI に属性をレンダーする
xconf ファイルでは、カスタムデータユーティリティをカスタム属性 ID (myNumber) にマッピングします
特定の UI でのみ、既存のデータユーティリティを使用して属性をレンダーする。既存の DU は 1 つ以上の属性にすでにマッピングされている可能性がある。
カスタムデータユーティリティ MyNumberDataUtility を使用して myNumber をレンダーするには
1. カスタムデータユーティリティ (MyNumberDataUtility) を定義します
2. xconf ファイルでは、カスタムデータユーティリティをカスタム属性 ID (myNumber) にマッピングします
3. その属性の「データユーティリティ ID」のプロパティを「myNumber」に設定します
同じテーブル内の複数のオブジェクトの同じ属性をレンダーする
列 ID は一意でなければならないので、このためには「ターゲットオブジェクト」および「データユーティリティ ID」プロパティを使用する必要があります。たとえば、テーブルの 3 つの列すべてに、それぞれ異なる 3 つのオブジェクトの名前属性をレンダーできます。
1. この 3 つの属性すべてを属性パネルまたはテーブル定義に追加します。
2. バッキングオブジェクトでないオブジェクトに属する属性の場合、「データユーティリティ ID」プロパティの値を "name" に設定し、「ターゲットオブジェクト」をオブジェクトを表す属性に設定します。
例:
roleAObject と roleBObject の名前属性を、バッキングオブジェクトの名前属性と同様に表示するには、これらの各属性のプロパティを次のように設定します。
roleAName
データユーティリティ ID = name
ターゲットオブジェクト = roleAObject
roleBName
データユーティリティ ID = name
ターゲットオブジェクト = roleBObject
異なるオブジェクトタイプの同じ属性 ID に異なるレンダラーを指定する
例:
ドキュメントの状態属性を部品の状態属性とは別にレンダーする必要があります。
データユーティリティのタイプベースの検索は現在のところインフラストラクチャによってサポートされていません。このタイプの動作が必要で、UI に同じタイプのオブジェクトが表示される場合、「データユーティリティ ID」プロパティを使用します。複数のタイプのオブジェクトが表示される UI (「フォルダ」ページなど) では、カスタムデータユーティリティを使用し、そのカスタムデータユーティリティ内でタイプベースのチェックを行えます。
共通 Windchill ビジネス属性のカスタマイズ
一部の Windchill 属性は Windchill の特定の規格と規則に準拠する必要があります。これは標準の動作です。この動作の一部はカスタマイズ可能です。このセクションでは、これらの標準 Windchill 属性とそのコンフィギュレーションポイントの一部について取り上げます。
番号
オブジェクトの情報ページへのリンクとして番号をレンダー
使用例: オブジェクトの情報ページへのハイパーリンクとして番号属性をレンダーする。
「情報ページへのリンク」プロパティを使用してこの動作を有効/無効にできます。詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください。
番号の値をサーバー生成/サーバー事前生成/不変にする
オブジェクト初期化規則を使用して、番号のデフォルトの動作をカスタマイズできます。
番号の各種動作を実現するために必要なオブジェクト初期化規則の組み合わせを次に示します。
やりたいこと・・・
OIR の設定を次のようにします。
作成ウィザードの UI が次のように表示されます。
サーバーによって生成された値を常に使用し、ユーザーによる値の入力を許可しません。
<Value algorithm="com.ptc.core.rule.server.impl.GetImmutableConstraint"/><Value algorithm="com.ptc.core.rule.server.impl.GetServerAssignedConstraint"/>
オブジェクト初期化規則で設定された事前生成の値を常に使用し、この値を UI に表示して、ユーザーによるこの値の修正を許可しません。
<Value algorithm="com.ptc.core.rule.server.impl.GetImmutableConstraint"/><Value algorithm="com.ptc.core.rule.server.impl.GetServerPreGeneratedValue"/>
オーバーライドなしの事前に生成された値
オブジェクト初期化規則で定義された事前生成の値を使用し、この値を UI に表示して、ユーザーによるこの値の修正を許可します。
<Value algorithm="com.ptc.core.rule.server.impl.GetServerPreGeneratedValue"/>
オーバーライドがある事前に生成された値
常にユーザーは値を入力する必要があります。
番号にその他の OIR 制約が定義されていない場合、これが正常に動作するためには空の制約リストが必要です。
<AttrConstraint id="number"
algorithm="com.ptc.core.rule.server.impl.GatherAttributeConstraints"/>
ユーザーによる値の入力を許可し、ユーザーが値を入力しない場合は、サーバーに値を自動生成します。
<Value algorithm="com.ptc.core.rule.server.impl.GetServerAssignedConstraint"/>
* 
前述のコンフィギュレーションで記載どおりの結果が得られなかった場合、Create UI または Edit UI での番号の編集の可否に影響を与えるその他のコンフィギュレーションの次の値を確認します。
モデル化属性の changeable プロパティ規則詳細については、ビジネスオブジェクトのモデリングを参照してください。
「タイプおよび属性の管理」ユーティリティの表示設定。詳細については、表示タブを参照してください。
「タイプおよび属性の管理」ユーティリティの表示設定。詳細については、オンラインヘルプトピック「表示タブ」を参照してください。
名前
オブジェクトの情報ページへのリンクとして名前をレンダー
「情報ページへのリンク」プロパティを使用してこの動作を有効/無効にできます。詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください。
名前の値をサーバー生成/サーバー事前生成/不変にする
番号に使用したのと同じカスタマイズ方法を名前に使用して、名前をサーバー生成、サーバー事前生成、不変のいずれかにすることができます。名前の各種動作を実現するために必要なオブジェクト初期化規則は、このトピックの「番号」セクションの「番号の値をサーバー生成/サーバー事前生成/不変にする」セクションでリストされている番号に対するものと同じです。
名前属性の列挙制約に対する内蔵サポート
Windchill リリース 10.1 からは、ドキュメント、部品、および EPM ドキュメントタイプの名前属性で、列挙制約 (静的および動的) が内蔵サポートされるようになりました。列挙エントリにはエントリごとに内部値と表示値が存在することに留意してください。表示値は複数の言語にローカライズできます。
この新しいサポートにより、名前属性の許容値を顧客が簡単に制限できるようになり、また、ユーザーが現在のロケールに応じて、保存/保持されている名前のローカライズされた値を確認することもできます。
この機能をアクティブ化し、これらいずれかのタイプの名前属性に列挙制約を設定した場合 (実際には、制約はこれらのタイプのマスターに適用する必要がある)、作成や編集のウィザードでは、列挙内で指定されたエントリ (ローカライズされている可能性あり) を含むコンボボックスとして名前属性が表示されます。表示専用のテーブルおよび情報ページでは、名前属性は保存された列挙エントリの "表示" 値によって表示されます。
"名前" 属性に適用される列挙制約の例 (テスト用に "_EN" というサフィックスが表示値に手動で追加されています)
名前属性に対する列挙制約をアクティブ化するには、次のプロパティを site.xconf に追加し、Windchill シェルから "xconfmanager –Fp" を実行する必要があります (さらに Windchill を再起動します)。<Property name="com.ptc.EnableEnumeratedName" overridable="true" targetFile="codebase/wt.properties" value="true"/>
この操作の完了後、「ユーティリティ」ページから「タイプおよび属性の管理」ユーティリティを起動して、ツリーから「ドキュメントマスター」、「部品マスター」、「EPM ドキュメントマスター」タイプのいずれかを選択します。さらに "名前" 属性を選択し、「編集」モードに入り、新しい列挙制約 (静的または動的) を追加して、列挙を編集し (静的な場合はエントリを追加し、動的な場合はプロバイダと初期値の文字列を設定します)、変更内容を保存します(詳細については、「タイプおよび属性の管理」のドキュメントを参照してください)。
"com.ptc.EnableEnumeratedName" プロパティが設定されている場合、(作成ウィザードで) 名前属性の保存を行うと、エントリの表示名ではなく、列挙エントリの内部値がデータベースに保存されます。"ビュー" モード (テーブルまたは情報ページなど) で名前属性を表示するときには、(ローカライズされた) 表示名が列挙から参照され、UI に表示されます。これにより、各種ロケールを使用しているさまざまなユーザーが、名前属性のさまざまなローカライズ値を表示できるようになります。
ただし、"com.ptc.EnableEnumeratedName" プロパティが false に設定されて (または除去されて) いるか、列挙制約が無効化または削除されている場合には、ビューモードに内部値が表示されることになります。この機能を使用するときには、こうした側面に留意してください。
場所
オブジェクト初期化規則を使用して場所属性の UI 動作をカスタマイズできます (詳細については、オブジェクト初期化規則についてを参照してください)。場所の各種動作を実現するために必要なオブジェクト初期化規則の組み合わせを次に示します。
やりたいこと・・・
OIR の設定を次のようにします。
作成ウィザードの UI が次のように表示されます。
常に 'サーバーによって割り当てられた' フォルダを使用し、ユーザーによるフォルダ指定を許可しません。
<Value algorithm="com.ptc.core.rule.server.impl.GetImmutableConstraint"/><Value algorithm="com.ptc.core.rule.server.impl.GetServerAssignedConstraint"/>
オブジェクト初期化規則を使用して定義された事前生成フォルダを常に使用し、UI にこの値を表示して、ユーザーによるこの値の修正を許可しません。
<Value algorithm="com.ptc.core.rule.server.impl.GetImmutableConstraint"/><Value algorithm="com.ptc.core.rule.server.impl.GetServerPreGeneratedValue"/>
ユーザーが手動でフォルダを選択し、起動コンテキストフォルダをデフォルト値として表示することを許可します。
場所にその他の OIR 制約が定義されていない場合、これが正常に動作するためには空の制約リストが必要です。
<AttrConstraint id="folder.id" algorithm="com.ptc.core.rule.server.impl.GatherAttributeConstraints"/>
このフィールドには起動コンテキストのフォルダが設定されます。
次のオプションをユーザーに提供します
オブジェクト初期化規則で定義されている事前に生成されたフォルダを使用するか、
フォルダを手動で選択し、起動コンテキストフォルダをこのデフォルト値として表示します。
起動コンテキストフォルダをデフォルトオプションとして事前選択します。
<Value algorithm="com.ptc.core.rule.server.impl.GetServerPreGeneratedValue"/>
自動選択フォルダの値は、オブジェクト初期化規則を使用して定義された、事前に生成された値になります。
次のオプションをユーザーに提供します
オブジェクト初期化規則で定義されている事前に生成されたフォルダを使用するか、
フォルダを手動で選択し、起動コンテキストフォルダをこのデフォルト値として表示します。
事前に生成されたコンテキストフォルダをデフォルトオプションとして事前選択します。
<Value algorithm="com.ptc.core.rule.server.impl.GetServerPreGeneratedValue"/><Value algorithm="com.ptc.core.rule.server.impl.GetRendererConstraint"><Arg>SelectGeneratedFolderByDefault</Arg></Value>
自動選択フォルダの値は、オブジェクト初期化規則で定義された、事前に生成された値になります。
次のオプションをユーザーに提供します
'サーバーによって割り当てられた' フォルダを使用するか、
フォルダを手動で選択し、起動コンテキストフォルダをこのデフォルト値として表示します。
起動コンテキストフォルダをデフォルトオプションとして事前選択します。
<Value algorithm="com.ptc.core.rule.server.impl.GetServerAssignedConstraint"/>
次のオプションをユーザーに提供します
'サーバーによって割り当てられた' フォルダを使用するか、
フォルダを手動で選択し、起動コンテキストフォルダをこのデフォルト値として表示します。
割当サーバーフォルダをデフォルトオプションとして事前選択します。
<Value algorithm="com.ptc.core.rule.server.impl.GetServerAssignedConstraint"/><Value algorithm="com.ptc.core.rule.server.impl.GetRendererConstraint"><Arg>SelectGeneratedFolderByDefault</Arg></Value>
プリンシパル属性
1. プリンシパルの情報ページへのリンクとしてプリンシパルをレンダー
「情報ページへのリンク」プロパティを使用してこの動作を有効/無効にできます (詳細については、このトピックの「コンフィギュレーションポイント」のセクションを参照してください)。
リビジョン
チェックアウト済みのオリジナルと作業コピーを区別するようリビジョン属性を設定できます。「WIP バージョンを識別」プロパティを設定することでこれを行えます (詳細については、このトピックの「コンフィギュレーションポイント」を参照してください)。
ライフサイクル状態
カレントの状態だけでなくすべてのライフサイクル状態をレンダーするようライフサイクル属性を設定できます。「すべての状態をレンダリング」プロパティを設定することでこれを設定できます (詳細については、このトピックの「コンフィギュレーションポイント」を参照してください)。
* 
このコンフィギュレーションは、com.ptc.core.ui.resources.ComponentType が SIMPLE であるコンポーネントまたはテーブルに属性が表示される場合にのみ適用されます。
UI の動作
Is Render All States が true に設定されている場合:
Is Render All States が false に設定されている場合:
データユーティリティ
データユーティリティは、可能なコンフィギュレーションポイントを使用しても実現できないカスタマイズに使用可能な java クラスです。
データユーティリティを使用して、属性のデータとメタデータを取得し、UI での属性のレンダリングに使用される UI コンポーネントを作成します。コア API から返るデータが UI コンポーネントの作成に十分ではない場合、データユーティリティを使用してこのデータを追加情報で補うことができます。追加情報は、照会の追加、サービスの呼び出し、または Java コードを使用したなんらかの手段によってフェッチできます。
データユーティリティの標準の実装では、Windchill UI 規格に準拠した Windchill 標準アプリケーションに定義されている動作になります。
任意の属性 ID にデータユーティリティを設定できます。
データユーティリティの作成
データユーティリティを新規作成するには次の手順を実行します。
データユーティリティ (Java) クラスを作成する
XCONF ファイルでデータユーティリティクラスを属性 ID にマッピングする
データユーティリティクラスの作成
com.ptc.core.components.descriptor.DataUtility インタフェースを実装することでデータユーティリティを作成します。
データユーティリティはアプリケーションコンテキストを使用して検出されるので、実装クラスはパブリックで、引数のないパブリックなコンストラクタがある必要があります。
新しい DataUtility を実装する場合、AbstractDataUtility 基本クラスを拡張してください。
属性値を補ったり属性のレンダリング方法を変更したりする必要があれば、該当する場合には既存のデータユーティリティを拡張してください。属性に現在マッピングされているデータユーティリティは「利用可能な属性レポート」または JcaDebug で確認できます。詳細については、使用可能な属性レポートおよびjcaDebug の使用を参照してください。
1. DataUtility インタフェースの getDataValue() メソッドを実装します。
getDataValue() メソッドは、特定の属性の UI に配置されるべきコンテンツを取得します。
例:
追加のテキストを伴う特殊な文字列属性の値を追加する場合の例は、以下のとおりです。
Object getDataValue(String component_id, Object datum, ModelContext mc)
throws WTException {
…..
…..
String rawVal = myObject.get(component_id);
String displayVal = rawVal + “My extra text”;
TextDisplayComponent gui = new TextDisplayComponent(…);
gui.setValue(displayVal);


return gui;
}
* 
テーブルを操作する場合は列のセルごとに 1 回ずつ getDataValue() が呼び出されるので、このメソッドでデータベース呼び出しを行わないでください。データベース呼び出しを行う必要がある場合、setModelData() を使用するようにします。このメソッドは、列ごとに 1 回ずつ呼び出されて結果がキャッシュされるので、データベースが必要以上に多くの回数呼び出されることはありません。
2. DataUtility インタフェースの setModelData() メソッドを実装します。
パフォーマンスの観点では、オブジェクトごとに別々の照会を行う代わりに、setModelData() の 1 回の呼び出しで表示されるすべてのオブジェクトを処理し、すべてのオブジェクトに対する必要なデータベース照会を 1 回で実行できます。
複数の行オブジェクトを呼び出す必要があるテーブルなど、複数のオブジェクトを呼び出す必要がある場合、setModelData() メソッドを使用することで、データユーティリティはレンダリングするすべての行オブジェクトのデータをプリフェッチできます。このメソッドは、すべての行/セルで getDataValue() が呼び出される前に呼び出され、処理されるすべてのオブジェクトのリストで指定されます。
この呼び出しを利用して、複数オブジェクトの照会をいくつか実行し、getDataValue() メソッドで後から使用できるように結果を保存できます。このメソッドを実装する場合、データユーティリティをステートフルに設定する必要があります。
ユーザー入力値を保持するためのガイドライン
カスケード属性規則で使用される属性は、その規則での役割に応じて、ドライバー属性または被駆動属性と呼ばれます。作成モードまたは編集モードのコンポーネントにそのような属性が表示されている場合、ドライバー属性の値を変更すると、該当するカスケード属性規則に従って、関連するすべての被駆動属性の値の再評価がトリガーされます。このプロセスでは、修正されたドライバー属性によって駆動されないすべての属性でユーザー入力値が保持される必要があります。これを実現するには、以下のすべての条件を満たしていることを確認します。
コンポーネントが作成モードまたは編集モードになっている。
このコンポーネントに表示される属性用のカスタムデータユーティリティが用意されている。
この属性がカスケード属性規則に関与していない。
そのコンポーネントがカスケード属性規則をサポートしている。
カスケード属性規則に関与している 1 つ以上の属性がコンポーネントに表示される。
ソリューションエレメント
エレメント
タイプ
説明
com.ptc.core.components.forms.AttributePropertyProcessorHelper
Java クラス
ユーザー入力値を保持するカスタムデータユーティリティの作成を支援するヘルパー API を提供します。詳細については、Windchill Javadoc を参照してください。
以下のテーブルに、AttributePropertyProcessorHelper の API を利用してユーザー入力値を保持する参照データユーティリティを示します。ソースコードは <WT_ホーム>/srclib/wnc/Carambola.jar にあります。
データユーティリティ
属性データタイプ
CarambolaAttributeBooleanDataUtility
ブール
CarambolaAttributeDateDataUtility
日付と時刻
CarambolaAttributeHyperlinkDataUtility
URL
CarambolaAttributeRealNumberDataUtility
実数
CarambolaAttributeRealNumberWithUnitsDataUtility
実数 (単位付き)
CarambolaAttributeStringDataUtility
文字列
CustomCarambolaAttributeStringDataUtility
コラム名が標準でない文字列
CarambolaAttributeStringMultiValueDataUtility
複数の値をサポートする文字列
サンプル UI へのアクセスと表示
作成モードと編集モードで carambola 内のこれらの例を公開する UI にアクセスするには、以下の手順を実行します。作成モードでは、以下の手順を実行します。
1. ナビゲーション表示枠で、「カスタマイズ」 > 「コンポーネントカタログ」の順にクリックし、"Wizard" コンポーネントを選択します。
2. 「Examples」セクションで、「同じタイプの複数オブジェクトを作成」を選択します。
3. 「My Custom Wiz Step」タブで、「タイプ」として "Poem" を選択します。
4. 行を追加し、「編集」を選択します。
ウィザードが作成モードで開き、「Non-Cascading Attr Group」の下に (カスタムデータユーティリティにマッピングされている) 属性が表示されます。
編集モードでは、以下の手順を実行します。
1. ナビゲーション表示枠で、「カスタマイズ」 > 「コンポーネントカタログ」の順にクリックし、"Wizard" コンポーネントを選択します。
2. 「Examples」セクションで、「Basic Edit Wizard」を選択します。
ウィザードが編集モードで開き、「Non-Cascading Attr Group」の下に (カスタムデータユーティリティにマッピングされている) カスタム属性が表示されます。
属性 ID へのデータユーティリティのマッピング
xconf ファイルにアプリケーションコンテキストのエントリを次のように追加します。
<Service name="com.ptc.core.components.descriptor.DataUtility">
<Option serviceClass="com.ptc.core.components.factory.
dataUtilities.ProjectDataUtility"
requestor="java.lang.Object"
selector="projectHealthStatus"
cardinality="singleton"/>
</Service>
<Service name="com.ptc.core.components.descriptor.DataUtility">
<Option serviceClass="com.ptc.core.components.factory.dataUtilities.
FolderedDataUtility"
requestor="java.lang.Object"
selector="location"
cardinality="duplicate"/>
</Service>
多重度に関する注記:
"重複" 多重度を使用することが最も安全です。この多重度を使用することで、データユーティリティが要求されるたびに新しいインスタンスが作成されます。
データユーティリティ設定エントリは、アプリケーションコンテキストによって最終的に読み込まれる xconf ファイル (任意の "service.properties" タイプのファイル) に追加できます。一般的には、ファイル someprefix.dataUtilities.properties.xconf を使用します。
setModelData() が呼び出されると、データユーティリティに一連のオブジェクトが渡され、これに適した値を後から JCA インフラストラクチャが要求して各オブジェクトのテーブルに表示します。データユーティリティはこれらの値を決定してキャッシュし、後から読み込むことができます。JCA インフラストラクチャは後から getDataValue() メソッドを呼び出して指定したオブジェクトの特定のテーブルセルの値を取得し、データユーティリティはこれをその計算済みのキャッシュから読み込むことができます。
属性 ID の検索方法
java コードで属性コンフィギュレーションを作成する場合、その属性の ID を指定する必要があります。
Typed オブジェクトと TypeManaged オブジェクトの場合、ID は「タイプおよび属性の管理」ユーティリティでその属性に表示される内部名でなければなりません。その他のオブジェクトの場合、名前は次のソースで検索できます。これらのレポートを使用する場合、完全なパッケージを含む完全修飾タイプ名を入力する必要があります (例: wt.part.WTPart)。
論理属性レポート
これは「カスタマイズ」> 「ツール」> 「Logical Attributes Report」から表示できます。
TypeManaged クラスの場合、このレポートには以下が含まれます。
1. LogicalAttributes.xml ファイルで定義されているエイリアス属性 (注記: これは現在では推奨されていません。エイリアス属性を定義するには、代わりに「タイプおよび属性の管理」ユーティリティを使用します)。
2. ハード (アノテーション) 属性 (前述の属性によってオーバーライドされていない場合)
3. 「タイプおよび属性の管理」ユーティリティで定義されている属性 (エイリアス属性によってオーバーライドされていない場合)
TypeManaged 以外のクラスの場合、このレポートには以下が含まれます。
1. LogicalAttributes.xml ファイルで定義されているエイリアス属性
2. ハード (アノテーション属性) (エイリアス属性によってオーバーライドされていない場合)
AttributeConfigs および describeProperty タグで属性 ID としてこのファイルからの論理形式の名前を使用します。リストされているすべての属性を UI で使用できるわけではありません。属性を表示するためには、属性の GUI コンポーネントを作成可能なデータユーティリティが使用可能でなければなりません。
利用可能な属性レポート
これは「カスタマイズ」> 「ツール」> 「Available Attributes Report」から表示できます。
このレポートには、テーブルビューに含めることができる属性がリストされます。このリストの属性を、JCA ID 列内の名前を使用して属性パネルに含めることができます。
プロパティレポート
これは「カスタマイズ」> 「ツール」> 「Property Report」から表示できます。
これは複合レポートであり、タイプのハード属性、論理属性レポートにリストされている論理属性、利用可能な属性レポートにリストされているテーブルビュー属性が表示されます。各属性をクリックすると、その属性についての追加の情報と、その属性に登録されているデータユーティリティ (あれば) が表示されます。DefaultDataUtility によって、特定のデータユーティリティがリストされていない多数の属性が処理されます。
このレポート内のすべての属性が属性パネルに表示できるわけではありません。特に、計算属性は通常は UI で使用できません。
コンフィギュレーションポイント
考慮事項
「タイプおよび属性の管理」ユーティリティの属性定義: 属性情報ページを使用して設定します。このコンフィギュレーションはすべてのクライアントの特定の属性に適用されます。
「タイプおよび属性の管理」ユーティリティの属性パネルのレイアウト定義: 「タイプおよび属性の管理」ユーティリティで、属性のグループ属性プロパティの編集のウィンドウを使用して設定します。特定のパネルに範囲が限定されているので、属性パネルにのみ使用できます。
ComponentConfig ビルダーを使用して設定することもできます。これは、属性パネルまたはテーブルで属性をカスタマイズする場合に使用します。このコンフィギュレーションは特定の UI の特定の属性のみに適用されます。
プロパティ名
該当する属性のデータタイプ
説明
プリファレンス
(このコンフィギュレーションはすべてのクライアントのすべての属性に適用されます)
「タイプおよび属性の管理」ユーティリティの「属性定義」
「タイプおよび属性の管理」ユーティリティの「Attribute Panel Layout Definition」
デフォルト値表示モード
すべてのデータ型
デフォルト値を属性の入力フィールドに表示する方法を設定します (デフォルト値がある場合)。
デフォルトは "事前表示" です。
有効な値:
「なし」- 入力フィールドにデフォルト値を表示しません。
「事前表示」- デフォルト値が設定されている場合、入力フィールドに設定されます。
「ボタン」- 入力フィールドの後ろにボタンが表示され、ユーザーはこのボタンをクリックしてデフォルト値を入力フィールドに追加できます。
「属性処理」カテゴリのサイトレベルのプリファレンスとして利用できます。
指定しない場合は、「デフォルト値表示モード」プリファレンスの値が使用されます。
指定しない場合、「属性定義」が指定されていれば、このプロパティの値が使用されます。それ以外の場合は、プリファレンスの値が使用されます。
または
setDefaultValueDisplayMode()
選択リストの UI スタイル
有効値リスト制約または列挙値リスト制約が定義されているすべての属性。
データ入力で属性を表示する場合に、属性の有効値 (選択リスト) をドロップダウンリストとして表示するかラジオボタンのセットとして表示するかを指定します。
デフォルトは "ドロップダウンリスト" です。
有効な値:
「ドロップダウンリスト」- 値はドロップダウンリストにレンダーされ、ユーザーはそこからオプションを 1 つ選択できます。
「ラジオボタン」- 有効値がラジオボタンのセットとして表示されます。ユーザーはラジオボタンを使用して、いずれかのオプションを選択できます。
サイトレベルのプリファレンスとして利用できます。
注記: ブール属性を除くすべての属性に適用されます。このレベルでは、ブール属性のスタイルは「ブールスタイル」プリファレンスによって制御されます。
指定しない場合は、「選択リストのスタイル」プリファレンスの値が使用されます。
指定しない場合、「属性定義」が指定されていれば、このプロパティの値が使用されます。それ以外の場合は、プリファレンスの値が使用されます。
または
setSelectionListStyle()
ブールスタイル
ブール
入力の際にブール属性をラジオボタンとして表示するかドロップダウンリストとして表示するかを制御します。
デフォルトは "ラジオボタン" です。
有効な値:
「ドロップダウンリスト」- 値はドロップダウンリストにレンダーされ、ユーザーはそこからオプションを 1 つ選択できます。
「ラジオボタン」- 有効値がラジオボタンのセットとして表示されます。ユーザーはラジオボタンを使用して、いずれかのオプションを選択できます。
サイトレベルのプリファレンスとして利用できます。
特定の属性についてこのプリファレンスの値をオーバーライドするには、「選択リストのスタイル」プロパティを使用します。
指定しない場合は、「ブールスタイル」プリファレンスの値が使用されます。
指定しない場合、「属性定義」の「選択リストのスタイル」プロパティが指定されていれば、その値が使用されます。それ以外の場合は、プリファレンスの値が使用されます。
または
setSelectionListStyle()
複数行入力の文字数しきい値
文字列
文字列属性に複数行入力フィールドをレンダーするときのしきい値を指定します。このプロパティには正数を指定します。属性の最大文字数がこの値を超える場合、データ入力用に複数行入力フィールドが表示されます。
デフォルトは 60 です。
サイトレベルのプリファレンスとして利用できます。
指定しない場合は、「複数行入力の文字数しきい値」プリファレンスの値が使用されます。
指定しない場合、「属性定義」が指定されていれば、このプロパティの値が使用されます。それ以外の場合は、プリファレンスの値が使用されます。
setStringLengthThreshholdForMultilineInput()
入力フィールドタイプ
文字列
属性に単一行と複数行のどちらの入力フィールドを表示するかを指定します。このディレクティブは stringLengthThresholdForMultilineInput のディレクティブをオーバーライドします。
有効な値:
「単一行」- この属性にテキストボックスが表示されます。
「複数行」- この属性にテキスト領域が表示されます。
このレベルでは利用できません。
指定しない場合、このプロパティにはデフォルト値が割り当てられません。
指定しない場合、「属性定義」が指定されていれば、このプロパティの値が使用されます。
または
setInputFieldType()
日付入力フィールドタイプ
日付
タイムスタンプ属性の入力フィールドのタイプを日付のみか日付と時刻に指定し、これに従って UI コンポーネントを作成できます。
デフォルトは "日付のみ" です。
有効な値:
「日付のみ」- ユーザーは日付部分のみを設定できます。
「日付と時刻」- ユーザーは日付と時刻の両方を設定できます。
このレベルでは利用できません。
指定しない場合は、デフォルトが使用されます。
指定しない場合、「属性定義」のプロパティの値が指定されていれば、そのプロパティ値が使用されます。それ以外の場合は、デフォルト値が使用されます。
または
setDateInputFieldType()
日付の表示形式
日付
この属性の値をビューモードで表示するときに使用する日付形式文字列 (yyyy-mm-dd など)。これは入力モードの値の設定に使用される形式には影響しません。
有効な文字の詳細については、Java クラスの java.text.SimpleDateFormat を参照してください。
設定しない場合、rbInfo ファイルの componentRB から次のいずれかの形式が使用されます。
STANDARD_DATE_DISPLAY_FORMAT - 「日付入力フィールドタイプ」プロパティの値が「日付のみ」に設定されている場合は、この形式が使用されます。
STANDARD_DATE_TIME_ZONE_DISPLAY_FORMAT - 「日付入力フィールド」プロパティの値が設定されていないか、「日付と時刻」に設定されている場合は、この形式が使用されます。
このレベルでは利用できません。
指定しない場合は、デフォルトが使用されます。
指定しない場合、「属性定義」のプロパティの値が指定されていれば、そのプロパティ値が使用されます。それ以外の場合は、デフォルト値が使用されます。
または
setDateDisplayFormat()
現地のタイムゾーン
日付
日付と時刻の両方が表示される日付属性 (yyyy-MM-dd hh:mm zzz など) に使用するタイムゾーンを指定します。これはビューモードでのみ使用され、入力モードでは使用されません。
ユーザーレベルのプリファレンスとして利用できます。
このレベルでは利用できません。
このレベルでは利用できません。
測定システム
単位を持つ実数
単位を持つ実数に使用する測定システムを指定します。
ユーザーレベルのプリファレンスとして利用できます。
このレベルでは利用できません。
このレベルでは利用できません。
ハイパーリンクを作成
(9.x ではこれは「文字列で URL 値を無視」と呼ばれていました)
文字列
文字列属性の値に埋め込まれている URL スタイルテキストをビューモードでハイパーリンクとして表示するかどうかを指定します (例: http://www.ptc.com)。
デフォルトは 'true' です。
サイトレベルのプリファレンスとして利用できます。
注記: 9.x から 10.0 にアップグレードするときに、このプロパティがファイル AllClient.xml を使用してカスタマイズされていた場合、手動によるカスタマイズが必要です。
指定しない場合は、「ハイパーリンクを作成」プリファレンスの値が使用されます。
このレベルでは利用できません。
割合 (%)
数字
数値を割合として表示するかどうかを指定します。このプロパティは、ビューモードでのみ使用されます。指定されている場合、ロケール固有の表記方法が使用されます。
デフォルトは false です。
このレベルでは利用できません。
指定しない場合は、デフォルトが使用されます。
指定しない場合、「属性定義」のプロパティの値が指定されていれば、そのプロパティ値が使用されます。それ以外の場合は、デフォルト値が使用されます。
または
setPercent()
通貨
数字
数値を通貨の値として表示するかどうかを指定します。このプロパティは、ビューモードでのみ使用されます。指定されている場合、ロケール固有の表記方法が使用されます。
デフォルトは false です。
このレベルでは利用できません。
指定しない場合は、デフォルトが使用されます。
指定しない場合、「属性定義」のプロパティの値が指定されていれば、そのプロパティ値が使用されます。それ以外の場合は、デフォルト値が使用されます。
または
setCurrency()
入力必須
すべて
'必須' 制約が適用されていない場合でも '必須フィールド' として属性をマークする場合に使用します。このプロパティは UI レンダリングにのみ使用されます。
"必須制約" とは異なり、これによってサーバー側の検証は行われません。
注記: '必須制約' がある属性がこのプロパティを使用して "必須でない" とマークされている場合、サーバー側のコードでその他の手段によって属性の値が設定される場合を除き、サーバー側の例外が発生します。
このプロパティの最も一般的な使用法として、"必須制約" が定義されていない属性の値をユーザーが必ず指定するよう設定できます。
このレベルでは利用できません。
有効ではない
指定しない場合は、デフォルトが使用されます。
または
setInputRequired()
情報ページへのリンク
'名前'、
'番号' およびプリンシパル属性のみ
属性を情報ページへのハイパーリンクとして表示するかどうかを指定します。プリンシパル属性の場合、これはプリンシパルの情報ページへのリンクとして表示されます。
指定しない場合、次のデフォルトが使用されます。
番号およびコンテナ名には 'true'
その他すべての属性には 'false'
このレベルでは利用できません。
このレベルでは利用できません。
指定しない場合は、デフォルトが使用されます。
または
setInfoPageLink()
多値属性の区切り記号
複数の値を含む属性の値を表示する場合に区切り記号として使用する文字を指定します。グローバル属性は複数の値を割当可能な唯一の属性タイプなので、これはグローバル属性のみに適用されます。デフォルトでは、コンマの後ろにスペースが付きます。
サイトレベルのプリファレンスとして利用できます。
このレベルでは利用できません。
有効ではない
テキスト入力列
作成モードまたは編集モードでテキスト領域をレンダーするときの幅を指定する整数値。これば文字列属性のみに適用され、「入力フィールドタイプ」が「複数行」に設定されている場合にのみ使用されます。
このレベルでは利用できません。
このレベルでは利用できません。
指定しない場合、幅は、デフォルトで、Windchill UI 規格によって指定されている値、および属性の最大文字数制約によって決まります。
テキスト入力行
作成モードまたは編集モードでテキスト領域をレンダーするときの高さを指定する整数値。これは文字列属性のみに適用され、「複数行入力の文字数しきい値」および「入力フィールドタイプ」プロパティに基づいて複数行の入力フィールドが必要な場合にのみ使用されます。
このレベルでは利用できません。
このレベルでは利用できません。
指定しない場合、行数は最大文字数の制約と列の幅によって決まります。最大行数は 3 に制限されています。入力が 3 行を超えるとスクロールバーが追加されます。
または
setTextInputRows()
空白オプションを含める
属性の有効値のドロップダウンリストの最初のエントリとして空白オプションを追加するかどうかを指定します。
有効値がラジオボタンのセットとして表示される場合、リストの最初のボタンとして "未定義" ラベルが追加されます。
デフォルトは true です。
このレベルでは利用できません。
このレベルでは利用できません。
指定しない場合、値はデフォルトで true に設定されます。
または
setIncludeBlankOption()
isRenderAllStates
ライフサイクル状態属性のみ
カレントの状態だけでなくすべてのライフサイクル状態をレンダーするかどうかを指定します。
注記: この属性はコンポーネントタイプが SIMPLE または TABLE のコンポーネントにのみ適用されます。
デフォルトは false です。
このレベルでは利用できません。
このレベルでは利用できません。
指定しない場合は、値はデフォルトで false に設定されます。
または
setRenderAllStates()
WIP バージョンを識別
リビジョン属性のみ
チェックアウト済みのオリジナルと作業コピーを区別するかどうかを指定します。
このレベルでは利用できません。
このレベルでは利用できません。
指定しない場合は、値はデフォルトで false に設定されます。
または
setDistinguishWIPVersions()
入力文字数制限
文字列属性の UI に入力可能な最大文字数を指定します。
このレベルでは利用できません。
このレベルでは利用できません。
setCharacterEntryLimit()
データユーティリティ ID
データユーティリティの検索に使用する ID。指定しない場合、検索には記述子 ID が使用されます。
このレベルでは利用できません。
このレベルでは利用できません。
setDataUtilityId()
Need
列セルの表示値の作成に必要なオブジェクト属性の論理名。
プロパティ/列 ID がイントロスペクションまたは論理属性によって定義されている属性名でない場合、データユーティリティによってセルの値の読み込みに使用されます。複数の属性が必要な場合、コンマ区切りリストを使用します。
このレベルでは利用できません。
このレベルでは利用できません。
setNeed()
ターゲットオブジェクト
Windchill クライアントアーキテクチャインフラストラクチャによって処理される場合にこの列に使用するターゲットオブジェクト。targetObject プロパティを設定することで、開発者はインフラストラクチャに、基本 API から返ったバッキング行オブジェクトから派生した代替行オブジェクトを使用するよう通知します。
このレベルでは利用できません。
このレベルでは利用できません。
ComponentConfig.setTargetObject()
Label
属性のラベルの設定に使用されます。
このレベルでは利用できません。
属性定義での表示名を使用します。
setLabel()
モード
属性が表示されるモード。作成、編集、ビューの 3 つのモードがあります。
このレベルでは利用できません。
このレベルでは利用できません。
setMode()
制限事項
OIR を使用した離散セットの定義/参照属性の入力コンポーネントの設定
デフォルトで、チームテンプレートおよびライフサイクルテンプレート属性の離散セットは、「タイプマネージャ」ではなく、オブジェクト初期化規則で定義されます。これらの属性は参照属性だからです。
現時点で、入力モードで参照属性を表示するためのインフラストラクチャはサポートされていません。これを有効にする場合は、それぞれの参照属性をピッカーとマッピングする必要があります。顧客からこのサポートに対する要求があれば、こうしたケースで、チームテンプレートおよびライフサイクルテンプレート属性用に使用される OIR アプローチが機能するかどうか試してみる可能性もあります。
属性カスタマイズの作成時に追加する項目のチェックリスト
コンフィギュレーションポイント
複数コンフィギュレーションの効果 - 優先される内容、解決方法
階層
重複 (同じレベルと範囲にある場合)
UI の動作
検証
UI で
サーバーで
データユーティリティなしでは機能しない複数値を収集するための計算式による計算属性
一部の属性はデータユーティリティによって生成されるので、それらの値は、使用する値が計算式によって呼び出される計算属性には自動的に追加できない可能性があります。こうした場合、新規属性では、値を適切に収集するためにデータユーティリティも必要になります。
これは役に立ちましたか?