QueryViewer は、Query オブジェクトまたは Data Provider オブジェクトを実行して取得したデータを表示できるようにするために Web パネルまたはモバイルアプリケーションのパネルに含める必要のあるユーザーコントロールです。表示できるオプションは次のとおりです。
- Card: カードはクエリ値の静的な表現です。値のトレンドを表示できます。
- Chart: タイムライングラフ、円形グラフ、極座標グラフなど、さまざまな種類のグラフを選択できます。
- Map: 地軸を含むクエリ向けの、世界、大陸、または国の地図です (GeneXus 17 Upgrade 4 以降で利用できます)。
- PivotTable: ピボットテーブルは、列の位置の交換と情報のグループ化が可能なテーブルです。
- Table: 行と列が固定されている静的なテーブルです。
重要な注記: モバイルアプリケーションのサポートは GeneXus 17 以降となります。
- スマートフォンを含むすべてのブラウザーとの互換性
- データのエクスポート (PDF、HTML、XML、XLSX 形式。テーブルとピボットテーブルのオプションでのみ有効)
- ドラッグ アンド ドロップを使用したピボットテーブルの直観的な操作
- プログラミングによる設定も可能
注: テーブルとピボットテーブルでは、項目属性の右上を右クリックするだけで、その項目属性を非表示にすることができます。ピボットテーブルで、すべての Data 項目属性が非表示の場合、 [ Quantity ] フィールドは表示され、非表示にできません。
次の手順は、Web アプリケーションでこのコントロールを操作する方法を示しています。モバイルアプリケーションでも同じように機能します。
1) QueryViewer コントロールをツールボックスから Web フォームにドラッグします。
2) Query オブジェクトまたは Data Provider オブジェクトが表示データを生成する QueryViewer の [ Object ] プロパティを設定します。
3) Output グループの下にある [ Type ] プロパティを設定します。ここで、出力の 4 つの表示方法のうちのいずれかを選択できます。
[ Chart ] オプションを選択する場合は、 [ Chart Type ] プロパティを設定して特定のタイプのグラフを選択できます。
QueryViewer のプロパティを次のように設定するとします。
- Type = Chart
- Chart Type = Stacked column 3D
この設定だけで、QueryViewer コントロールで実行時に結果を表示するオブジェクトを実行できます。
さらに、QueryViewer の別のプロパティを設定できます。たとえば、縦棒グラフに関連する次のプロパティを設定できます。
- XAxis Title = Country
- YAxis Title = Attractions
結果として、次のクエリが実行時に表示されます。
注: 最初に QueryViewer コントロールをナレッジベース内の Web フォームにドラッグしたときに、このコントロールを使用するために必要となる構造化データタイプと、新しい GeneXus ドメインのセットを含む QueryViewer フォルダが GeneXus に追加されます。また、変数のセットがオブジェクトの [ Variables ] エレメント内に自動的に作成され、サンプルのソースがオブジェクトの [ Events ] エレメントに追加されます。このコードは、実行時のコントロールの使用および設定について情報を示すものです。
QueryViewer コントロールの使用時におけるさまざまなシナリオについて、次に示します。
- クエリの新しいビューを取得するための動的なフィルタ
1 つのクエリ内の 1 つの関係要素 (クエリエレメント) について表示される値を変更して、そのクエリの新しいビューを表示できます。これを実行するには、QueryViewer コントロールとクエリ間でパラメーターを渡します。
- 実行時の QueryViewer コントロールのカスタマイズ
[ Axes ] プロパティに関連付けられた変数によって、コントロールのビューに影響するプロパティの一部をプログラミングにより変更できます。
コントロールに関連付けられたクエリを別のクエリに置き換えることで、クエリを変更できます。これを実行するには、次の例のように、コントロールの [ Object ] プロパティを変更します。
Event Start
Attractions.Object = AttractionsByCountry(<パラメーター 1>, <パラメーター 2>, ...)
EndEvent
この例では、Attractions は QueryViewer コントロール名、Object はクエリを実行する Query オブジェクトの名前を格納するためのコントロールのプロパティ、AttractionsByCountry はその Query オブジェクトの名前です。関連付けられるオブジェクトが Data Provider オブジェクトの場合にも、同じことが言えます。
Data Provider オブジェクトが QueryViewer に関連付けられている場合は、QueryViewerAxes.Axis 集計フィールドを使用するコードによって集計を変更できます。
既定の集計は Sum です。
「QueryViewer コントロールのプロパティ」を参照してください。
GetMetadata() |
項目属性 (プロパティを含む) のリストを格納する QueryViewerAxes タイプのオブジェクトを返します。(「[ Elements ] プロパティ」の詳細情報) |
GetData() |
ピボットテーブルにロードされた項目属性のすべてのデータを格納する文字列変数を XML で返します。 |
GetFilteredData() |
その時点で視覚化されているデータ (フィルタが適用されるため、ピボットテーブルからすべてのデータを取得する GetData() メソッドとはデータが異なる場合があります) を格納する文字列変数を XML で返します。 |
NotifyMetadata() |
項目属性 (プロパティを含む) のリストを作成します。このメソッドは結果としてオブジェクトを返すのではなく、TrackContext イベントによって後から取得可能な QueryViewerAxes タイプの変数を生成します。 |
NotifyData() |
ピボットテーブルにロードした項目属性によって参照されるすべてのデータをロードします。このメソッドは結果としてオブジェクトを返すのではなく、TrackContext イベントによって後から取得可能な変数を生成します。 |
NotifyFilteredData() |
フィルタを適用した結果その時点で視覚化されているデータ (NotifyData() メソッドでロードされるデータとは異なる場合があります) をロードします。このメソッドは結果としてオブジェクトを返すのではなく、TrackContext イベントによって後から取得可能な変数を生成します。 |
使用例として、データベースとの間でメタデータを保存および復元する方法を見てみましょう。この作業を実行するには、QueryViewer が埋め込まれている Web パネルで次のイベントを定義します。
メタデータを保存する:
Event 'NotifyMetadata'
QueryViewer.NotifyMetadata()
Endevent
Event TrackContext(&Metadata)
SaveMetadata(&Metadata)
EndEvent
メタデータを復元する:
Event Refresh
&Axes = RestoreMetadata()
EndEvent
注:
- SaveMetadata プロシージャーと RestoretMetadata プロシージャーを実装する必要があります。
- QueryViewerAxes SDT に基づく &Metadata 変数を定義する必要があります。
- QueryViewer コントロールの [ Remember Layout ] プロパティの値を False に設定する必要があります。
QueryViewer コントロールの互換性
|