生産現場の実行インターフェースのスタイル
この記事では、既定の生産フロア実行スタイルが適用されるように、フォーム コントロールを構成する方法について説明します。
フォームおよびダイアログ
スタイルは、次の要件が満たされている場合にのみ、フォームまたはダイアログに適用されます。
- フォームが既存のレポートの進行状況フォームと類似している場合は、フォームまたはダイアログの名前を
JmgProductionFloorExecutionCustomInputDialog
で始める必要があります。 - フォームまたはダイアログには、詳細フォームのパーツを含めることができます。 スタイルをそれに適用するには、詳細フォームパーツの名前は
JmgProductionFloorExecutionCustomDetailsDialog
で始まる必要があります。 - フォームまたはダイアログに簡単なビューを表示する必要がある場合は、簡易ビューの名前を
JmgProductionFloorExecutionCustomDialog
で始める必要があります。 簡易ビューを持つフォームの例としては、開始フォームおよび間接活動フォームがあります。 - ダイアログのすべてのコントロールをこの記事で説明されているように構成する必要があります。
重要
このリストの最初の 2 つのポイントで述べた機能には、Supply Chain Management バージョン 10.0.19 以降が必要です。
スタイルは、次の要件が満たされている場合にのみ、ダイアログの OK ボタンに適用されます。
- ボタンはフォーム グループに含まれています。
- グループ名は
OkButtonGroup
で始まります。
スタイルは、次の要件が満たされている場合にのみ、ダイアログ ボックスのキャンセル ボタンに適用されます。
- ボタンはフォーム グループに含まれています。
- グループ名が
CancelButtonGroup
で始まる。
ヘッダー
次の図は、一般的なフォームまたはダイアログ ヘッダーを示しています。
Visual Studio では、次の図に示す構造を使用してヘッダーが作成されます。
ヘッダーにテキストを追加するには、次の例のようなコードを使用します。
private void setCaption()
{
HeaderFieldWithSeparatorText1.text("Report Progress");
HeaderFieldWithSeparatorText2.text(ProdId);
…
HeaderFieldText.text(OprNum);
}
ヘッダー コードを記述する際には、次のルールを適用します。
- メイン グループの名前は
TableRowHeaderGroup
である必要があります。 - テキストの各ブロック (形式で区切る) は、
HeaderFieldWithSeparatorText
で始まる必要があります。 - 最後のテキスト名は、
HeaderFieldText
で始まる必要があります。 CaptionImage
は省略できます。
進捗状況インジケーター
ヘッダーの右側に表示される進捗状況インジケーターを含めることができます。 次の図は、進捗状況インジケーターを示します。
進捗状況インジケーターを表示するには、テキスト フィールド名が ShowProgress
である必要があります。
グリッド
スタイルは自動的に適用されます。 固有のコンフィギュレーションは必要はありません。
新しいグリッドはまだサポートされていないので、グリッドは TabularView
スタイルである必要があり、カスタム フォーム上の run()
メソッドは上書きされている必要があります。 次のコードを追加します。
public void run()
{
super();
// To opt out a page from the new grid
this.forceLegacyGrid();
}
メイン ビューのデータを更新するには、アクションの click
メソッドの this.parmParentForm().updateLayout();
のような何かを使用すると良いです。 (例としては、JmgProductionFloorExecutionReportFeedbackAction
クラスを参照してください。) parmDataSource
が新しいフォーム (formCaller.parmDataSource(this.dataSource(1));
) の init
の メソッドで設定されていることを確認します。 例については、JmgProductionFloorExecutionMainGrid
フォームを参照してください。
カード ビュー
スタイルは、次の要件が満たされている場合にのみ、カード ビュー コントロールに適用されます。
- 各カード ビューはフォーム グループに含まれています。
- グループ名が
CardGroup
から始まる (たとえば、CardGroupJobsView
)。
次の図は、その中にコントロールがないカード ビューを示しています。
次の図は、その中にコントロールを含んでいるカード ビューを示しています。
ビジネス カード
スタイルは、次の要件が満たされている場合にのみ、ビジネス カード コントロールに適用されます。
- 各ビジネス カードはフォーム グループに含まれています。
- グループ名は
BusinessCardGroup
から始まる (たとえば、BusinessCardGroupJobsList
)。
ビジネス カードで以下のプロパティを設定します。
- スタイル:リスト
- 拡張スタイル:カード リスト
- マルチ選択:No
- ラベル (複数) の表示:No
オプション ボタン
スタイルは、次の要件が満たされている場合にのみ、ラジオ ボタンに適用されます。
- 各ラジオ ボタンはフォーム グループに含まれています。
- グループ名が、テキストを表示させる場所に応じて、
RadioTextBelow
またはRadioTextRight
で始まる。
ラジオ ボタンに以下のプロパティを設定します。
- 切り替えボタン:チェック
- 値を切り替える:オン 無線ボタンを選択する場合はオンにします。オンにしない場合は、[オフ] します。
次の図は、テキストがラジオ ボタンの下に表示される例を示しています。
次の図は、テキストがラジオ ボタンの右に表示される例を示しています。
Internet Explorer のラジオ ボタン
ラジオ ボタン スタイルは Internet Explorer ではサポートされません。 次の図は、ラジオ ボタンが Internet Explorer でどのように表示されるかを示しています。
ボタン
スタイルは、次の要件が満たされている場合にのみ、ボタンに適用されます。
- 各ボタン グループはフォーム グループに含まれています。 グループ内のすべてのボタンは同じスタイルになります。
- グループ名に関する要件はありません。
ボタンに以下のプロパティを設定します。
- ボタン ディスプレイ:TextWithその他Left
- 通常の画像: このプロパティは空白にすることはできません。 たとえば、CoffeeScript を使用します。
- テキスト: このプロパティは空白にすることはできません。 たとえば、分割の開始 を使用します。
- 幅 :自動 または SizeToContent
- 高さ :自動 または SizeToContent
プライマリ ボタン
スタイルは、次の要件が満たされている場合にのみ、基本ボタンに適用されます。
- ボタンはフォーム グループに含まれています。
- グループ名が
DefaultButtonGroup
またはPrimaryButtonGroup
で始まる (たとえば、DefaultButtonGroup10
)。
セカンダリ ボタン
スタイルは、次の要件が満たされている場合にのみ、二次ボタンに適用されます。
- ボタンはフォーム グループに含まれています。
- グループが 右側のパネル と名前が付けられている、またはグループ名が
SecondaryButtonGroup
で始まる。
3 番目のグループ ボタン
スタイルは、次の要件が満たされている場合にのみ、3 番目のグループのボタンに適用されます。
- ボタンはフォーム グループに含まれています。
- グループが 左側のパネル と名前が付けられている、またはグループ名が
ThirdButtonGroup
で始まる。
4 番目のグループのボタン
スタイルは、次の要件が満たされている場合にのみ、4 番目のグループのボタンに適用されます。
- ボタンはフォーム グループに含まれています。
- グループ名が
FourthButtonGroup
で始まる。
ボタンに以下のプロパティを設定します。
- ボタンの表示:TextOnly
- 通常の画像: このプロパティは空白である必要があります。
- テキスト: このプロパティは空白にすることはできません。 たとえば、表示または編集を使用します。
- 幅 :Auto
- 高さ :Auto
フラット ボタン
スタイルは、次の要件が満たされている場合にのみ、フラット ボタンに適用されます。
- ボタンはフォーム グループに含まれています。
- グループ名が
FlatButtonGroup
で始まる。
ボタンに以下のプロパティを設定します。
- ボタンディスプレイ:、1つ
- 通常の画像: このプロパティは空白にすることはできません。 たとえば、CoffeeScript を使用します。
- テキスト: このプロパティは空白である必要があります。
- 幅 :自動 または SizeToContent
- 高さ :自動 または SizeToContent
続行ボタン
スタイルは、次の要件が満たされている場合にのみ、続行ボタンに適用されます。
- ボタンはフォーム グループに含まれています。
- グループ名が
ContinueButtonGroup
で始まる。
ボタンに以下のプロパティを設定します。
- ボタンディスプレイ:、1つ
- 通常の画像:フォワード
- テキスト: このプロパティは空白である必要があります。
- 幅 :自動 または SizeToContent
- 高さ :自動 または SizeToContent
コンボ ボックス
コンボ ボックスは、入力コントロール、入力コントロールをクリアするボタン、および検索を実行するボタンの 3 つのコントロールの組み合わせです。
スタイルは、次の要件が満たされている場合にのみ、コンボ ボックスに適用されます。
コンボ ボックスはフォーム グループに含まれています。
グループ名が
Combobox
で始まる。グループ内で、最初のコントロールは
AxFormStringControl
です。 このコントロールは現在の値を表示し、ユーザーは必要な値を入力します。2 つ目のコントロールは
CommonButton
コントロールで、名前はClearButton
で始まります。 このボタンには、ボタンを表示または非表示にするenable
プロパティを使用するコードが含まれている必要があります。 たとえば、ユーザーが入力コントロールに情報を入力している間にクリア ボタンを表示または非表示にするには、次のコードを使用することができます。public void textChange() { super(); ClearButtonSerial.enabled(this.text()? true : false); }
入力コントロールでデータを設定する方法が 1 つ必要です。 そのメソッドの クリア ボタンを有効にします。 次に例を示します。
public void setSerialId(str _serialId) { JmgTmpJobBundleProdFeedback.InventSerial = _serialId; ClearButtonSerial.enabled(_serialId? true : false); if (_serialId) { this.addSerialNumber(); } }
クリア ボタンの
clicked
メソッドには次のコードを使用します。public void clicked() { element.setSerialId(''); InventSerialId.setFocus(); // set focus back to the input box }
フォームを
init
メソッドを使用して初期化するときに、入力コントロールAxFormStringControl
の値を設定します。 値が空白でない場合は、クリア ボタンを有効にします。 値が空白の場合は、クリア ボタンを無効にします。3 つ目のコントロールは
CommonButton
コントロールで、名前はSearchButton
で始まります。
次の図は、2 つのコンボ ボックス コントロールを示します。 左側のコンボ ボックスには空のテキスト ボックスがあり、クリア ボタンは無効になっています。 右側のコンボ ボックスにはテキスト ボックスにテキストがあり、クリア ボタンが有効になっています。
クイック フィルター
クイック フィルター コントロールによって、ページに検索フィールドが追加されます。 次の要件が満たされている場合、クイック フィルターにスタイルを適用できます。
- クイック フィルターはフォーム グループに含まれています。
- グループ名が
SearchInputGroup
で始まる。 - グループ内で、最初のコントロールは
QuickFilter
コントロールです。 (このコントロールはユーザーが検索文字列を入力する場所です。) - 2 つ目のコントロールは
NumberOfResults
という名前のFormStaticTextControl
です。 (このコントロールはオプションです。これが含まれている場合は、検出された項目の数が表示されます。) - 3 つ目のコントロールは
CommonButton
コントロールで、名前はClearButton
で始まります。
次の図は、2 つのクイック フィルター コントロールを示します。 左側のクイック フィルターは空になっており、結果の数は表示されません。 右側のクイック フィルターには検索文字列が含まれるので、結果の数が表示されます。
タブの中央位置揃え要素
タブの中央に要素の位置を合わせるには、グループ名は TabContentGroup
で始まる必要があり、グループには次のプロパティが 必要です。
- 幅モード :
SizeToAvailable
- 高さモード :
SizeToAvailable
グリッド、詳細パーツ、クイック フィルターの位置を合わせる
標準のデザインに似たカスタマイズされたグリッド、詳細部品、クイック フィルターを並び替える場合は、それらをすべてまとめる際に次の点を念頭に置きます。
- グリッドに簡単なフィルタがある場合は、グリッドとクイック フィルタの両方が、名前が
GridGroup
". - スタイルを詳細部分に適用するには、グループ名は
DetailInformationGroup
で始まる必要があります。
次の図は、簡単なフィルターと右側の詳細部分を含む一般的なグリッドを示しています。
Visual Studio では、次の図に示す構造を使用してグリッド、詳細部分、クイック フィルターを作成できます。