QueryElements の [ Axis ] プロパティおよび [ Visible ] プロパティをリファクタリングして、クエリの作成プロセスを容易にできます。目的は、クエリエレメントの構造表現と視覚を分離して、それぞれ別に展開できるようにすることです。
[ Axis ] の Hidden 値が [ Visible ] プロパティに移動しました。これにより、Boolean データタイプから列挙型の 3 つの値に変更になります。
- Yes: エレメントは最初から表示されますが、UI から非表示にできます。
- No: エレメントは最初から非表示になりますが、ユーザーのアクションによって表示することができます。
- Never: エレメントは表示されず、変更もできません。
[ Axis ] プロパティは 2 つのプロパティに分けられます:
- Type (Datum|Axis): クエリ内の項目属性の関数を示します。
- Axis (Rows|Columns|Pages): Type が Axis で、クエリがピボットテーブルとして表示される場合にのみ有効です。
オブジェクト: Dashboard、Query
この変更により、次のコンポーネントに影響が生じます:
これらのプロパティは、GeneXus IDE でバージョン 17 Upgrade 1 以上でクエリをオープンするときに変換されます (GeneXus Server では変換されません)。クエリは新しい値で保存され、クエリのバージョン番号が変わります (内部で、バージョン番号が 3 から 4 に更新されます)。そのため、以前のバージョンの GeneXus で開くことができなくなります (バージョン番号は Query オブジェクトのデシリアライゼーションでコントロールされます)。バージョンの制御はインポートにも適用されるため、新しいバージョンのクエリをエクスポート/コミットして IDE や古い GeneXus Server に送ることはできません。
ダッシュボードの Query オブジェクトでも同じプロパティを使用できます。Dashboard オブジェクトは IDE で開かれるときに変換されます (クエリ内で直接設定されるものも同じです)。新しい値は、オブジェクトが保存されるときにのみ保存されます。その時点で古いバージョンの GeneXus では開くことができなくなります。
実行時にプログラミングによって QueryViewer コントロールおよびプロパティが変更される Web パネルは、再プログラミングする必要があります。つまり、&Axes コレクション (具体的には [ Visible ] プロパティまたは [ Type ] プロパティ) が使用される場合です。
必要とされる変換は次のとおりです。
- QueryViewer.AllowChangeAxesOrder = <value> を QueryViewer.AllowElementsOrderChange = <value> に変更
- エレメント &Axis を &Axes コレクションに追加し、 [ Visible ] プロパティまたは [ Type ] プロパティを設定する場合
- [ QueryViewerAxes ] プロパティを [ QueryViewerElements ] に変更
- [ Axes ] プロパティを [ Elements ] に変更
- [ Axis ] プロパティを [ Element ] に変更
変換に関する次の表を参照してください:
古い構文 |
新しい構文 |
|
&Axis.Visible = true
|
&Axis.Visible = QueryViewerVisible.Yes
|
(1) |
&Axis.Visible = true
|
&Axis.Visible = QueryViewerVisible.No
|
(2) |
&Axis.Visible = false
|
&Axis.Visible = QueryViewerVisible.Never
|
|
&Axis.Type = QueryViewerAxisType.Row
|
&Axis.Type = QueryViewerElementType.Axis
&Axis.Axis = QueryViewerAxisType.Rows
|
(3)(8) |
&Axis.Type = QueryViewerAxisType.Column
|
&Axis.Type = QueryViewerElementType.Axis
&Axis.Axis = QueryViewerAxisType.Columns
|
(4)(8) |
&Axis.Type = QueryViewerAxisType.Page
|
&Axis.Type = QueryViewerElementType.Axis
&Axis.Axis = QueryViewerAxisType.Pages
|
(5)(8) |
&Axis.Type = QueryViewerAxisType.Data
|
Axis.Type = QueryViewerElementType.Datum
|
(6) |
&Axis.Type = QueryViewerAxisType.NotShow
|
&Axis.Visible = QueryViewerVisible.No
|
(7) |
(1) - &Axis.Type <> QueryViewerAxisType.NotShow の場合
(2) - &Axis.Type = QueryViewerAxisType.NotShow の場合
(3) - Row に「s」を追加
(4) - Column に「s」を追加
(5) - Page に「s」を追加
(6) - [ Axis ] プロパティを無視
(7) - [ Type ] プロパティと [ Axis ] プロパティの値は任意
(8) - 2 行目は出力がピボットテーブルの場合にのみ必要
次のコードがある場合:
//コードは GeneXus 17 まで有効
&Axis.Name = !"CustomerName" //いくつかの項目属性
&Axis.Visible = &Visible // Boolean
&Axis.Type = &Type // QueryViewerAxisType データタイプ ('Row' 'Column' 'Page' 'Data' 'NotShow')
&Axes.Add(&Axis)
以下のように変更する必要があります:
//コードは GeneXus 17 Upgrade 1 以降で有効
&Axis.Name = !"CustomerName"
&Axis.Visible = &Visible // QueryViewerVisible データタイプ ('Yes' 'No' 'Never')
&Axis.Type = &Type // QueryViewerElementType ('Axis' 'Datum')
&Axis.Axis = &AxisItem // QueryViewerAxisType ('Rows' 'Columns' 'Pages')
&Axes.Add(&Axis)
そうしないと、エラーが表示されます:
// True|False を QueryViewerVisible.Yes|QueryViewerVisible.No|QueryViewerVisible.Never に変更
spc0010 Type mismatch in assignment: &Axis.Visible = &Visible (QueryViewerVisible=Boolean).// &Type を QueryViewerAxisType から QueryViewerElementType に変更
spc0010 Type mismatch in assignment: &Axis.Type = &Type (QueryViewerElementType=QueryViewerAxisType).// QueryViewerAxisType.Page を QueryViewerAxisType.Pages に変更し、変換テーブルを参照して &Axis.Type への新しい割り当てが必要かどうかを判断
spc0010 Type mismatch in assignment: &Axis.Type = QueryViewerAxisType.Page (QueryViewerElementType=QueryViewerAxisType)
このプロパティは GeneXus 17 Upgrade 1 以降で利用できます。
注意: GeneXus Server を使用する場合は、バージョン 17 Upgrade 1 以上へのアップグレードを推奨します。Query オブジェクトがプログラムで使用されている場合や、バージョン 17 で保存されている場合は、アップグレードが必須です。
[ Allow Change Axes Order ] プロパティ
クエリエレメント内の [ Axis ] プロパティ
[ Visible ] プロパティ
クエリエレメント内の [ Type ] プロパティ
|