Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Jedes Chart verfügt über eine ValueChangedEvent SelectionChangeEvent, welches bei einer Selektion getriggert wird. Das Eventobjekt im nachfolgenden Beispiel "String json" trägt dann alle Informationen zur jeweiligen Selektion in sich.Im Eventobjekt befinden sich die RowID. Mithilfe der RowID kann dann im Model die richtige Zeile mit dessen Informationen aufgerufen werden. Damit später auch aus dem Event heraus auf das Model zugegriffen werden kann, ist es sinnvoll sich das Model als Field innerhalb der Klasse zu deklarieren und zuzuweisen.

Abrufen der RowID und ColumnID des selektierten Eintrags

Code Block
languagejava
themeEclipse
firstline1
linenumberstrue
import com.xdev.charts.AbstractXdevChart.ValueChangeListener;

chart.addValueChangeListener(new ValueChangeListener() {

	@Override
	public void valueChange(String json) {
		// Fügen Sie hier Ihren eigenen Eventcode hinzu
	}
});

JSON-Inhalt nach Charts

XdevBarChart

xml
Code Block
language
private void barChart_onSelection(final SelectionEvent<AbstractChart> event)
{
	final Selection  selection = event.getSelection();
	final List<Item> items     = selection.items();
	
	for(final Item item : items)
	{
		final Integer row = item.row();
		final Integer column = item.column();
	}
}

Mit Hilfe der RowID und ColumnID den Eintrag im Model finden

Code Block
languagejava
themeEclipse
firstline1
linenumberstrue
final Integer row = item.row();
final Integer column = item.comlumn();

final Cell value = this.model.getValue(row, column);
Object rowValue = value.value();

Alle Einträge nach RowID aus dem Model holen

Code Block
languagejava
themeEclipse
firstline1
linenumberstrue
{"category":"2017","xvalue":559,"yvalue":"Beverages"}final Integer row = item.row();

for(int i = 0; i < this.model.columns().size(); i++)
{
	final Cell value = this.model.getValue(row, item.column());
	System.out.println(value.value());
}