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

Code Block
languagexml
themeEclipse
firstline1
linenumberstrue
{"category":"2017","xvalue":559,"yvalue":"Beverages"}

XdevAreaChart, XdevLineChart, XdevComboChart, XdevColumnChart, XdevSteppedChart

Code Block
languagexml
themeEclipse
firstline1
linenumberstrue
{"category":"xdev","xvalue":"2017","yvalue":3500}

XdevPieChart

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
{"category":"Hund","value":50}

XdevTimeLineChart

Code Block
languagexml
themeEclipse
firstline1
linenumberstrue
{"category":"Sebastian","caption":"","start":"2018-07-08T22:00:00.000Z","end":"2018-07-24T22:00:00.000Z"}

XdevMapChart

Code Block
languagexml
themeEclipse
firstline1
linenumberstrue
{"address":"Kreuzgasse 19 91275 Auerbach","caption":"Heimat"}
{"latitude":37.4289,"longitude":-122.1697,"caption":"University"}

XdevGeoChart

"final XdevGeoChartModel model = new XdevGeoChartModel("country", "people");"

Code Block
languagexml
themeEclipse
firstline1
linenumberstrue
{"country":"US","people":85000}

XdevOrgChart

Code Block
languagexml
themeEclipse
firstline1
linenumberstrue
{"value":"XDEV Software","root":"","tooltip":""}

JSON-INhalt wieder auf ein Chartobjekt mappen

Code Block
languagejava
themeEclipse
firstline1
linenumberstrue
final Gson g = new Gson();
final BarChartObject fromJson = g.fromJson(json, BarChartObject.class);

...

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
final GsonInteger grow = new Gsonitem.row();
final
BarChartObjectfor(int fromJsoni = g.fromJson(json, BarChartObject.class);

Integer xvalue = fromJson.getXvalue();
String yvalue = fromJson.getYvalue();
String category = fromJson.getCategory(); 0; i < this.model.columns().size(); i++)
{
	final Cell value = this.model.getValue(row, item.column());
	System.out.println(value.value());
}