2016-04-18 7 views
0

私はちょうどGWT-Charts ColumnFunctionが機能しませんか?

は、折れ線グラフのスタイルをしようとすると...私はバグを報告する前に、私は何か間違ったことをやっていないよ確認/ GWT-チャートのコードで掘り始めるようにしたい:

DataViewColumn ret = DataViewColumn.create(new ColumnFunction() { 
    @Override 
    public Object calc(DataTable dataTable, int row) { 
     if (dataTable.isValueNull(i, dataColumn) 
       || dataTable.getValueNumber(i, dataColumn) < value) { 
      return "color: red"; 
     } 
     return "color: green"; 
    } 
}, ColumnType.STRING); 
ret.setRole(RoleType.STYLE); 

(私はRoleType.STYLE自分マスターオフ、カスタムビルド0.9.11-SNAPSHOT)を追加する必要がありました

しかし)(新しいJSONObject(カラムを使用する)で、その列の結果を追加:

{ 
    "0":{"sourceColumn":0}, 
    "1":{"sourceColumn":1, "label":"Data"}, 
    "2":{"calc":{}, "type":"string", "role":"style"} 
} 

"calc"の空集合に注意してください。

「スタイル」ロールがRoleType列挙型に追加するだけでなく、それも渡されていないような場合に備えて、データ用のColumnFunction(フラット値を返す)を実行しようとしました。

DataViewColumn.setCalcでJSNI(ColumnFunctionが)私には右のようですので、私は問題がどこにあるかわからないんだけど...

UPDATE:ColumnFunctionで

置くデバッグ文を示しました。それは実行されていますが、出力は使用されていないようです。

DataViewColumn.setCalcにJSNIラッパーのreturnステートメントがありませんでした。

+0

Iをコミット上に構築された: https://github.com/google/gwt-charts/commit/586282f34d6251a0ac9ab451c4918594d8e9e39f 私の全体の変化はRoleType列挙に "STYLE(" スタイル ")" の追加されました。 –

答えて

0

DataViewColumn.setCalc:

/** 
* Sets a function that will be called for each row in the column to calculate a value for that cell. 
* 
* @param columnFunction a function for calculating each row value 
*/ 
public final native void setCalc(ColumnFunction columnFunction) /*-{ 
    this.calc = function(dataTable, row) { 
     [email protected]::calc(Lcom/googlecode/gwt/charts/client/DataTable;I) (dataTable, row); 
    }; 
}-*/; 

はそれを計算し、関数によって計算された値を返していませんでした。

最も内側のブロックの行に "return"を追加すると、問題が修正されます。

関連する問題