1

私は Smart gwt の初心者です。基本的に、データ構造は次のとおりです。


|_____ B1

  |__C1
  |__C2
  |__C3

|_ B2

データ構造 したがって、次のように ListGridRecord を作成しました。

public class VEPAreaRecord extends ListGridRecord{

public VEPAreaRecord(){

}


/**
 * @param vepAreaName
 * @param checkStations
 */
public VEPAreaRecord(String vepAreaName, String[] checkStations) {
    setVepAreaName(vepAreaName);
    setCheckStations(checkStations);
}


/**
 * @return the vepAreaName
 */
public final String getVepAreaName() {
    return getAttribute("vepAreaName");
}
/**
 * @param vepAreaName the vepAreaName to set
 */
public final void setVepAreaName(String vepAreaName) {
    setAttribute("vepAreaName",vepAreaName);
}
/**
 * @return the checkStations
 */
public final String[] getCheckStations() {
    return getAttributeAsStringArray("checkStations");
}
/**
 * @param checkStations the checkStations to set
 */
public final void setCheckStations(String[] checkStations) {
    setAttribute("checkStations",checkStations);
}

}

しかし、私のListGridでは、データを次のように表示したい

エリア1 エリア2 エリア3

チェック1 チェック2 チェック3

チェック4

チェック5

したがって、基本的には、行を列として表示したり、その逆を行ったりする必要があります。しかし、これを達成する方法がわかりません。または、これを処理する他のコンポーネントはありますか?

4

1 に答える 1

0

はい、CubeGrid は Isomorphic の Power および Enterprise ライセンス所有者が利用できます。CubeGrid クラスと Facets クラスを確認し、smartgwt ページのショーケースを見てください。

http://www.smartclient.com/smartgwtee/showcase/#cube_analyticsを参照して、例に従ってください。

ListGrid を使用できる場合は、レコードを反復処理することで同じことを実現できます。データベースを使用できる場合は、customSQL を入力できます

そのような:

<operationBindings>
<operationBinding operationType="fetch" operationId="VEP_AREA_RECORD">

<customSQL>

SELECT * FROM (SELECT SUBSTRING(MeasurementTime,7,4) [Year], CASE SUBSTRING(Time,1,2) WHEN '01' THEN 'Jan' WHEN '02' THEN 'Feb' WHEN '03' THEN 'Mar' WHEN '04' THEN 'Apr'  WHEN '05' THEN 'May' WHEN '06' THEN 'Jun' WHEN '07' THEN 'Jul' WHEN '08' THEN 'Aug' WHEN '09' THEN 'Sep'  WHEN '10' THEN 'Oct'  WHEN '11' THEN 'Nov'  WHEN '12'THEN 'Dec' END as [Month],      [value] , [col1] as col1,
  col1 [col1_name], col2 [col2_name], col3 [col3], [col4_name] FROM your_table  WHERE MeasurementValue IS NOT NULL) TableDate  PIVOT <what you want in rows>  FOR [Month] IN (
    [Jan],[Feb],[Mar],[Apr],
    [May],[Jun],[Jul],[Aug],
    [Sep],[Oct],[Nov],[Dec]
  )
) AS PivotTable
 ORDER BY groupCol1, groupCol2

</customSQL>

明らかに、これらの列は records/db または派生した実際の値である可能性があります (私の場合は datefield から派生したものです。私は SQL の第一人者ではないので、より良い方法があればぜひ聞きたいです。

上記の例では、出力は次のようになります。

                           [jan]  [feb]  [mar]  etc.....in your case

[col1_valA] [col2_val1]    valx    valy
[col1_valB] [col2_val2
于 2012-04-21T02:01:33.557 に答える