Программный выбор и снятие выделения на круговой диаграмме ADF DVT

Я использую круговую диаграмму и делаю некоторые взаимодействия со страницей, нажимая на круговую диаграмму. Эти работают просто отлично.

<dvt:pieGraph id="graph1" tabularData="#{dc.bean.tabularData}" dataSelection="single" selectionListener="#{dc.bean.transfersGraphSelectionListener}"/>

Однако я не могу поддерживать следующие варианты использования

  1. Щелчок за пределами графика (или повторный щелчок по выбранному набору данных) должен привести к тому, что круговая диаграмма потеряет свой выбор.
  2. Наличие кнопки очистки на странице, которая заставляет график терять текущий выбор.
  3. Программно выберите один из наборов данных на графике

Я проверил API UIGraph, но не смог найти много информации.

Любые подсказки будут действительно полезны.


person Vinit Asher    schedule 11.10.2012    source источник
comment
Это поможет, если вы сообщите нам свою версию jdev. Что делает selectionListener? что произойдет, если вы установите табличные данные в пустую модель?   -  person Timo Hahn    schedule 12.10.2012
comment
Привет Тимо, спасибо за ваш ответ. Я использую Jdev 12.1.2, однако меня устраивает любое решение, совместимое с Jdev11g.   -  person Vinit Asher    schedule 13.10.2012
comment
Мой прослушиватель выбора читает событие выбора и находит, какая область была нажата transfersGraphSelectionListener(SelectionEvent selectionEvent){ Set<GraphSelection> selectionSet = selectionEvent.getGraphSelection(); for (GraphSelection selection : selectionSet) { if (selection instanceof DataSelection) { DataSelection ds = (DataSelection) selection; Set seriesKeySet = ds.getSeriesKey().keySet(); for (Object key : seriesKeySet) { Object selectedKey = ds.getSeriesKey().get((String) key)) }   -  person Vinit Asher    schedule 13.10.2012
comment
Мне нужно знать, как программно очистить выделение на графике с помощью кнопки очистки на панели инструментов.   -  person Vinit Asher    schedule 13.10.2012


Ответы (1)


пожалуйста, добавьте правильный код в свой исходный пост. вот как выглядит ваш код

transfersGraphSelectionListener(SelectionEvent selectionEvent){ 
  Set<GraphSelection> selectionSet = selectionEvent.getGraphSelection(); 
  for (GraphSelection selection : selectionSet) { 
    if (selection instanceof DataSelection) { 
      DataSelection ds = (DataSelection) selection; 
      Set seriesKeySet = ds.getSeriesKey().keySet(); 
      for (Object key : seriesKeySet) { 
        Object selectedKey = ds.getSeriesKey().get((String) key)) 
      }

Кажется, чего-то не хватает!

person Timo Hahn    schedule 13.10.2012
comment
Привет, Тимо Хан, Object selectedKey = ds.getSeriesKey().get((String)key) дает мне имя строки данных на графике, который был выбран. Теперь, если у меня есть кнопка на странице с прослушивателем действий, из которой я хочу очистить этот выбор графика, то как мне это сделать? У adf pieGraph есть привязка в моем компоненте. Надеюсь, теперь моя ситуация более ясна? - person Vinit Asher; 15.10.2012