| 19. September 2016
Bislang gab es in GeoExt 3 (wie auch in älteren GeoExt-Versionen) zum Rendern von Vektorlegenden in tabellarischen Darstellungen (sogenannten Grids) die Klasse GeoExt.grid.column.Symbolizer. Im Zuge des OSGeo Codesprints der FOSS4G 2016 in Bonn ( wir berichteten) wurde diese Klasse aus diversen Gründen aus GeoExt 3 entfernt.
Dennoch können Sie weiterhin Vektorlegenden in Grids anzeigen. Mit nur wenigen Zeilen Code kann eine entsprechende Spalte mit Hilfe der GeoExt-Klasse _GeoExt.component._FeatureRenderer in der Definition des Grid-Objekts erzeugt werden:
Ext.create('Ext.grid.Panel', {
title: 'Feature Grid',
// bind the feature store holding the geo features
store: aFeatureStoreInstance,
columns: [
// the vector legend as column in the grid
{
xtype: 'widgetcolumn',
width: 40,
widget: {
// the FeatureRenderer alias
xtype: 'gx_renderer'
},
onWidgetAttach: function(column, gxRenderer, record) {
// update the symbolizer with the related feature
var feature = record.getFeature();
gxRenderer.update({
feature: feature,
symbolizers: GeoExt.component.FeatureRenderer.determineStyle(record)
});
}
},
// more column definitions here
]
});
Die resultierende Vektorlegende im FeatureGrid[/caption]
Ein ausfühliches Beispiel, das die Funktionalität zeigt, finden Sie hier.
Anwendungsentwickler sollten beim Upgrade auf die aktuelle GeoExt-Version darauf achten bestehende SymbolizerColumn-Verwendungen, wie oben gezeigt zu ersetzen. Bei Fragen oder Supportwünschen können Sie uns gerne kontaktieren.