Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Removed |../../index.htm#lansa/l4wdev06_0500.htm]
現在地:

...

グラフは、1つまたは複数のフィールドの情報をグラフ形式で表示します。現在のバージョンでは、面グラフ、棒グラフ、折れ線グラフ、円グラフ、散布図、等高線グラフが表示できます。詳細は、GraphTypeプロパティの機能オンライン・ヘルプを参照してください。

円グラフは、データを1つのフィールドから表示し、他のグラフは、データを複数のフィールドから表示できます。散布図と等高線グラフは、2つの以上のデータ・フィールドが必要です。

他のリストでは、フィールドは列として表されます。グラフ化されるデータを含む列(数値データ)は、ColumnRole(Data)として定義され、テキスト情報を含む列は、ColumnRole(Label)として定義されます。ColumnRoleは、列を非表示にして無効にするNoneにも設定できます。これは、グラフに複数の列があり、表示されるデータを動的に変更する場合に有効です。

グラフのタイプが違うと、そのスタイル設定も異なります。AreaStyle、BarStyle、LineStyle、PieStyle、ScatterStyle、およびSurfaceStyleプロパティを使用するセットがあります。

最小値、最大値、平均値、合計値をグラフにする場合は、KEEP_XXXXXコマンドを使用して値を計算できます。例えば、#SALARYAVGフィールドを定義し、#SALARYフィールドの平均の値を保存すると、部門ごとの平均の賃金を表示できます。

*(Department loaded and selected previously)
EVTROUTINE HANDLING(#PHBN_1.Click)
   clr_list #grph_1
   select (#section #secdesc) from_file(sectab) with_key(#deptment)
      select #salary from_file(pslmst1) with_key(#deptment #section)
         KEEP_AVG OF_FIELD(#SALARY) IN_FIELD(#SALARYAVG)
      endselect  
      add_entry #grph_1
   endselect  
ENDROUTINE  

...

グラフは、ユーザーがグラフの部門をクリックするとItemGotSelectionイベントを受け取ります。このイベントは、グラフの列の現在のエントリーを設定します。例えば、棒グラフで社員を表す棒をクリックすると、その社員がグラフの現在のエントリーになります。この機能を使用してメッセージ・ボックスや他のグラフなどで現在のエントリーに関する詳細な情報を提供できます。

以下の円グラフは、個々の社員が獲得した合計の賃金の割合を示します。

Image RemovedImage Added

グラフを実行すると、円グラフの違う部門をクリックすると(ItemGotSelectionイベント)、名字(CurrentItem)が変更されることがわかります。

グラフのソースは以下のようになっています。

...

FUNCTION OPTIONS(*DIRECT)

...


*Definitions
BEGIN_COM HEIGHT(412) LEFT(218) TOP(160) WIDTH(462)
DEFINE_COM CLASS(#PRIM_GRPH) NAME(#GRAPH)  DISPLAYPOSITION(1) HEIGHT(305) LEFT(32)  PARENT(#COM_OWNER)  TABPOSITION(1) TOP(56) WIDTH(385) PIESTYLE(AUTOARRANGELABELS)
DEFINE_COM CLASS(#PRIM_GRCL) NAME(#GRCL_1) DISPLAYPOSITION(2) PARENT(#GRAPH) SOURCE(#SALARY)
DEFINE_COM CLASS(#PRIM_GRCL) NAME(#GRCL_2) COLUMNROLE(Label) DISPLAYPOSITION(1) PARENT(#GRAPH) SOURCE(#SURNAME)
DEFINE_

...

COM CLASS(#SURNAME.Visual)

...

NAME(#SURNAME)

...

DISPLAYPOSITION(2)

...

HEIGHT(20)

...

LEFT(32)

...

PARENT(#COM_OWNER)

...

TABPOSITION(2)

...

TOP(16)

...

WIDTH(281)

...


*Get data, add it to the graph and set the caption and the type 
EVTROUTINE HANDLING(#graph.initialize)
   CLR_LIST NAMED(#GRAPH)
   SELECT FIELDS(#SALARY #SURNAME) FROM_FILE(PSLMST) WHERE('#SALARY > 90000' )
     ADD_ENTRY TO_LIST(#GRAPH)
   ENDSELECT  
   Set #GRAPH CAPTION('Salaries by Employee' )
   Set #graph GRAPHTYPE(Pie)
ENDROUTINE 

...


END_COM

...