1

我是 Smart gwt 的新手。基本上我的数据结构为:

一个
|_____ B1

  |__C1
  |__C2
  |__C3

|_ B2

数据结构 所以我创建了我的 ListGridRecord,如下所示:

公共类 VEPAreaRecord 扩展 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 中,我希望 tp 将我的数据显示为

区域 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>

显然,这些列可能是您的记录/数据库中的实际值或派生的(在我的情况下是从日期字段派生的。我不是 SQL 专家,所以如果有更好的方法,我很想听听。

在上面的例子中,输出将是

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

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