Primefaces 5.2: настроить данные диаграммы всплывающей подсказки
Я хочу настроить всплывающую подсказку в диаграммах Primefaces 5.2. Это значит, что я хочу изменить datatipFormat и содержимое на нем.
Он попробовал это:
--- XHTML ---
<p:chart type="line"
model="#{lineChartController.lineModel}"
title="#{lineChartController.lineModel.title}"
showDatatip="#{lineChartController.lineModel.showDatatip}"
datatipFormat="#{lineChartController.datatipFormat}"
... />
--- Джава ---
public String getDatatipFormat()
{
return "<span style=\"display:none;\">%s</span><span>%s</span>";
}
isShowDatatip () возвращает true.
Настроенный datatipFormat, похоже, не работает, более того, я не знаю, как разместить нужные данные на%s.
Возобновить:
- У меня есть этот простой Primefaces 5.2 данные диаграммы
- Я хочу этот пользовательский график данных из D3.js
Спасибо
2 ответа
Я нашел решение.
Здесь это ведет меня в неправильном направлении.
Я помещаю свой Java-код в LineChartController, и мой showDatatip приводит к LineChartModel ..., который содержит метод setDatatipFormat(String).
Поэтому я использую это:
LineChartModel lineModel = new LineChartModel();
...
lineModel.setDatatipFormat("<table><thead><tr><th>Date</th></tr></thead><tbody><td>%s</td><td>%s EUR</td></tbody></table>");
И я до сих пор не знаю, как поместить нужные данные в%s.
Ты можешь использовать <p:overlayPanel>
за это
<p:overlayPanel id="myPanel" for="myLbl" showEvent="mouseover" hideEvent="mouseout">
<p:panelGrid columns="2">
<f:facet name="header">#{controller. getDate()}</f:facet>
<h:outputLabel value="#{controller.dataItem.Col1}" />
<h:outputLabel value="#{controller.dataItem.Col2}" />
</p:panelGrid>
</p:overlayPanel>
и связать это наложение на указатель мыши с нужной точкой на вашем графике альтернативно, вы можете вызвать наложение из javascript, а также перехватить событие наведения мыши на графике.