Я просто хочу, чтобы убедиться, что я не делаю что-то неправильно, прежде чем я подам об ошибке/начать рыть в GWT-Charts кода ...GWT-Charts ColumnFunction не работает?
Попытка стилизации Linechart:
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);
(I пришлось добавить RoleType.STYLE сам, специально построенный 0.9.11-SNAPSHOT от Master)
Но добавив, что результаты столбцов в (с использованием новых JSONObject (столбцы)):
{
"0":{"sourceColumn":0},
"1":{"sourceColumn":1, "label":"Data"},
"2":{"calc":{}, "type":"string", "role":"style"}
}
Обратите внимание на пустой набор для «calc»?
Я пробовал просто делать ColumnFunction для данных (возвращающ плоское значение) в случае, если роль «стиль» требуется больше, чем просто добавление в RoleType Enum, и это также похоже не проходит.
JSNI в DataViewColumn.setCalc (ColumnFunction) кажется мне правильным, так что я не уверен, где проблема лежит ...
UPDATE:
Ввод отладочные в ColumnFunction показал он должен работать, но выход, похоже, не привык.
Оказывается, что DataViewColumn.setCalc отсутствовал оператор return в своей обертке JSNI.
коммита, я построил на: https://github.com/google/gwt-charts/commit/586282f34d6251a0ac9ab451c4918594d8e9e39f Вся моя смена добавлял «стиль (» стиль «)» для перечисления RoleType. –