最近のアクセス:
TabbedView Web コンポーネント

フォームを開発しているときに、そのデータをタブに分類しなければならないことがよくあります。たとえば、Web 用 Work With パターンのビューパネルでは、タブ付きのビューを使っています。これまではビューパネルごとにタブを処理するコードが必要でしたが、GeneXus ではこれらのコードをすべて、単一の Web コンポーネントにカプセル化できるようになっています。GeneXus の Work With パターンには、ほかのオブジェクトで使用できる、TabbedView という Web コンポーネントがあります。

使用方法

たとえば、次のタブを持つタブビューを Customer トランザクションに実装するとします:
  • [ General ] : 名前や住所などの一般的な情報のみを表示します。
  • [ Invoices ] : 顧客の請求書を表示します。
  • [ Payments ] : 顧客の支払を表示します。
まず、それぞれのタブ用の Web コンポーネントを作成します(ここでは、CustomerGeneral、CustomerInvoices、CustomerPayments という名前です)。この処理が必要な理由は、タブビューではページが非常に重くなるのを避けるため、一度に 1 つのタブのみを読み込むようにする必要があるからです。
次に、ViewCustomer Web パネルを作成して、WebForm の TabbedView Web コンポーネント (Work With パターンに付属しているので、1 つ作成してナレッジベースに組み込みます) にドラッグします。TabbedView Web コンポーネントには 2 つのパラメーターがあります。使用可能なタブを示す SDT と、アクティブなタブを示す識別子です。SDT は、次に示すような構造のコレクションです。

TabOptionsItem  [ IsCollection ] 
{
Code
Description
Link
WebComponent
}
コレクションは、すべての使用可能なタブについて、TabbedView を呼び出す前に読み込む必要があります。コレクション内のアイテムを読み込むには、メンバーに次の情報が必要です:
  • Code = 一意のアイテム識別子です。アイテムを、コレクション内にあるほかのすべてのアイテムと区別します。
  • Description = タブの目的についての短い説明です。
  • Link = タブが選択された場合に呼び出す URL です (通常、Web オブジェクトの Link メソッドを使用して取得するもの)。
  • WebComponent = アイテムが選択されたときに表示する必要がある Web コンポーネントの URL です。
たとえば、上記の ViewCustomer オブジェクトでは、次のように SDT をロードします:

Rules:
Parm(in:CustomerId, in:&TabCode);
Event Start
...
&Tabs = new()
&TabsItem.Code = 'General'
&TabsItem.Description = 'General info'
&TabsItem.Link = ViewCustomer.Link(CustomerId, 'General')
&TabsItem.WebComponent = CustomerGeneral.Link(CustomerId)
&Tabs.add(&TabsItem)
...
 
TabWC.Object = TabbedView.Create(&Tabs, &TabCode)
Endevent
TabbedView を呼び出すと、タブ (選択と選択解除、図の表示などが可能) が構築されます。アクティブなタブでは、WebComponent メンバーの情報を使用してアクティブな Web コンポーネントが作成されます。

(シンプルなコードについては、データプロバイダーの使用例: 「TabbedView の使用方法」を参照してください)。

TabbedView Web コンポーネントの仕組み

TabbedView Web コンポーネントは、GeneXus の機能を使用してタブ処理用のコードをカプセル化した、GeneXus の標準の Web コンポーネントです。この機能では、次に示すように、コンポーネントへのリンクを指定して実行時に Web コンポーネントを作成できます。
&WebComponentUrl = &Tab.WebComponent
Control.Object = CreateFromURL(&WebComponentUrl)











サブページ
Created: 14/09/18 03:16 by Admin Last update: 21/05/20 06:17 by Admin
カテゴリ
Powered by GXwiki 3.0