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.

Возобновить:

Спасибо

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, а также перехватить событие наведения мыши на графике.

Другие вопросы по тегам