最近のアクセス:
QueryViewer コントロール

QueryViewer は、Query オブジェクトまたは Data Provider オブジェクトを実行して取得したデータを表示できるようにするために Web パネルまたはモバイルアプリケーションのパネルに含める必要のあるユーザーコントロールです。表示できるオプションは次のとおりです。
  1. Table: 行と列が固定されている静的なテーブルです。
  2. PivotTable: ピボットテーブルは、列の位置の交換と情報のグループ化が可能なテーブルです。
  3. Chart: タイムライングラフ円形グラフ極座標グラフなど、さまざまな種類のグラフを選択できます。
  4. Cardカードはクエリ値の静的な表現です。値のトレンドを表示できます。
重要な注記: モバイルアプリケーションのサポートは GeneXus 17 以降となります。

主な機能:

  • スマートフォンを含むすべてのブラウザーとの互換性
  • データのエクスポート (PDF、HTML、XML、XLSX 形式。テーブルとピボットテーブルのオプションでのみ有効)
  • ドラッグ アンド ドロップを使用したピボットテーブルの直観的な操作
  • プログラミングによる設定も可能
注: テーブルとピボットテーブルでは、項目属性の右上を右クリックするだけで、その項目属性を非表示にすることができます。ピボットテーブルで、すべての Data 項目属性が非表示の場合、 [ Quantity ] フィールドは表示され、非表示にできません。

このコントロールの使用方法

次の手順は、Web アプリケーションでこのコントロールを操作する方法を示しています。モバイルアプリケーションでも同じように機能します。
1) QueryViewer コントロールをツールボックスから Web フォームにドラッグします。
イメージ:32921.png
2) Query オブジェクトまたは Data Provider オブジェクトが表示データを生成する QueryViewer の [ Object ] プロパティを設定します。
イメージ:32922.png
3) Output グループの下にある [ Type ] プロパティを設定します。ここで、開発者は出力の 4 つの表示方法のうちのいずれかを選択できます。
イメージ:32923.png
[ Chart ] オプションを選択する場合は、 [ Chart Type ] プロパティを設定して特定のタイプのグラフを選択できます。
イメージ:32924.png

使用例

開発者が QueryViewer のプロパティを次のように設定するとします。
  • Type = Chart
  • Chart Type = Stacked column 3D
この設定だけで、QueryViewer コントロールで実行時に結果を表示するオブジェクトを実行できます。
さらに、開発者は QueryViewer の別のプロパティを設定できます。たとえば、縦棒グラフに関連する次のプロパティを設定できます。
  • XAxis Title = Country
  • YAxis Title = Attractions
結果として、次のクエリが実行時に表示されます。
イメージ:31136.png
注: 最初に 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 コントロールのプロパティ」を参照してください。

コントロールのイベント

DragAndDrop イベント ドラッグ アンド ドロップ操作が検出されたときの処理をプログラミングできます。
ItemExpand イベント ネストされたデータを含む Query エレメントをユーザーが展開したときの処理をプログラミングできます。
ItemCollapse イベント ネストされたデータを含む Query エレメントをユーザーが折りたたんだときの処理をプログラミングできます。
FilterChanged イベント 項目属性 (行、列、またはページエリアに位置するもの) の有効な値のリストから値が削除されるかそのリストに値が追加されるたびに実行されます。
ItemClick イベント Query エレメントのクリック時に実行されます。
ItemDoubleClick イベント Query エレメントのダブルクリック時に実行されます。モバイルデバイスでコントロールを実行している場合、このイベントはサポートされていません)

メソッド

GetMetadata() 項目属性 (プロパティを含む) のリストを格納する QueryViewerAxes タイプのオブジェクトを返します。(詳細については、「[ Axes ] プロパティ」を参照)
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 コントロールの互換性



サブページ
Created: 14/09/18 03:46 by Admin Last update: 21/08/23 20:01 by Admin
カテゴリ
Powered by GXwiki 3.0