エンドユーザーが、コード/識別子に対応する値を入力するか、値に関連付けられたデスクリプションを入力するか (コードは自動的に取得されます) を示します。
| Values | エンドユーザーは、コード/識別子に対応する値を入力します。これが既定値です。 |
| Descriptions | エンドユーザーはデスクリプションを入力し、関連付けられたコード/識別子は自動的に取得されます。 |
ジェネレーター: .NET、
.NET Framework、
Android、
Angular、
Apple、
Javaレベル: 項目属性、
変数
エンドユーザーにコードの取り扱いを強制する代わりに、意味を持つデスクリプションを扱うことができます。たとえば、CountryName を入力すると、その CountryId が自動的に取得されるようにできます。
この機能を提供したい項目属性/変数 (たとえば、
Transaction オブジェクトの CountryId 項目属性や
Web Panel オブジェクトの &CountryId 変数など) でこれを実現するには、まず
[ Input Type ] プロパティを Descriptions に設定します。
その後、同じ項目属性/変数 (CountryId / &CountryId) に対して以下のようにします:
- [ Item Values ] プロパティを CountryId に設定する必要があります (これは既定で割り当てられます)。
- [ Item Descriptions ] プロパティは CountryName に設定する必要があります。
このようにすることで、画面上では、CountryId 項目属性は CountryName として表示されます。エンドユーザーには、CountryName を入力/選択するフィールドが表示されますが、項目属性は CountryName ではなく、CountryId 項目属性です。
エンドユーザーが「ウルグアイ」と入力すると、「ウルグアイ」に対応するコードを取得するために内部検索が実行されます。その値 (たとえば 1) が CountryId 項目属性に格納されます。これはエンドユーザーにとって完全に透明です。
考慮事項
コード (または識別子) とデスクリプションの間には、一意的な関係がなければなりません。つまり、各デスクリプションに対して、関連するコードは 1 つだけです。この例では、同じ名前で異なる識別子を持つ国が複数存在することはありえません。もし存在すれば、マッチを実行することは不可能であるためです。言い換えれば、デスクリプションを格納する項目属性はテーブルの
候補キーでなければなりません。つまり、CountryName 項目属性の一意のインデックスがなければなりません。候補キーが存在しない場合、以下の警告が表示されます:
Spc0107 Candidate Key CountryName for CountryId may have duplicated values.
実行時に、エンドユーザーが重複する値 (複数の CountryId が存在する値) を選択した場合、どちらを選択すべきかわからないため、"Country is ambiguous" エラーが発生します。
注: このプロパティは、式項目属性では使用できません。
このプロパティは設計時にのみ適用されます。
[ Suggest ] プロパティ