Questions & Answers

SOLVED
TimoMeister
Returning Responder

Script: Spalten einer Datenquelle

Jump to solution

Hallo zusammen,

kann mir jemand sagen ob es die Mรถglichkeit gibt an die Spalten einer Datenquelle zu kommen?

p = context.getUserService().getStore("contentstore", false);

t = p.getContent2ByName("datenquelle");

columns = t.getTemplate().getMappings();

so komme ich ja an das Mapping ran. Ich hรคtte gerne alle Spaltennamen in einer Variable. Geht das?

Viele GrรผรŸe

Timo

0 Kudos
1 Solution

Accepted Solutions

Sorry hab mich geirrt, es geht doch รผber das Mapping:

bsh % context.getStoreElement().getMappings()[0].getDBAttribute("EN");

<type>

bsh % context.getStoreElement().getMappings()[6].getDBAttribute("EN");

<mediaList>

Viele GrรผรŸe

Dennis

View solution in original post

0 Kudos
4 Replies
warthds
I'm new here

Hallo,

ich behaupte das geht nicht รผber die offene API. Das Mapping gehรถrt zur Definition des TableTemplates. Die Spalten stehen in der Tabelle, die dem Template zugeordnet ist.

de.espirit.or.schema.Table     getTable()

Diese Methode existiert in der API im EntityType der รผber das Mapping erreichbar ist. Jedoch ist die Methode und Klasse in der API theoretisch nicht erreichbar.

Viele GrรผรŸe

Dennis

0 Kudos

Sorry hab mich geirrt, es geht doch รผber das Mapping:

bsh % context.getStoreElement().getMappings()[0].getDBAttribute("EN");

<type>

bsh % context.getStoreElement().getMappings()[6].getDBAttribute("EN");

<mediaList>

Viele GrรผรŸe

Dennis

0 Kudos

Sehr gut, das klappt wunderbar.

ist dann getMappings() ein Array? Wie bekomme ich die Lรคnge bzw. wieviele Spalten die Tabelle hat, sodass ich loopen kann?

0 Kudos

Hallo,

ja und auf Arrays gibts length() und es gibt in Java For-Schleifen:

bsh % context.getStoreElement().getMappings();

<[Lde.espirit.firstspirit.access.store.templatestore.TableTemplate$Mapping;@17bd678>

bsh % context.getStoreElement().getMappings().length();

<20>

bsh %

Viele GrรผรŸe

Dennis

0 Kudos

Type a product name