Hallo miteinander,
ich habe ein eigenes Plugin entwickelt, was ein neues Model „Serie“ einführt, welches ich an verschiedenen Stellen verwende. Es funktioniert auch alles soweit, mir geht es nur noch um die Optimierung der Darstellung der Combobox in Formularen im Backend:
Mein „Serie“-Model hat ein „name“- und ein „nr“-Attribut. Standardmäßig, wenn ich in einer Backend-Form-Komponente die Assoziation (ManyToOne) einfach verwende, wird für die Anzeige in der Combobox der „Name“ verwendet:
fields: {
seriesId: {
fieldLabel: 'Serie'
}
}
Über das Attribut „displayField“ kann ich die Ausgabe anpassen, z.B. „displayField: ‚nr‘“ um mir statt dem Namen die Nummer der Serie anzeigen zu lassen. Ich möchte aber gerne beides anzeigen, also z.B. „Name (Nummer)“. Bei Recherchen bin ich über verschiedene Ansätze gestolpert, z.B. eine renderer-Funktion zu definieren, aber diese wird überhaupt nicht aufgerufen.
Kann ich irgendwie eine eigene Funktion einbauen, um die Bezeichnung der Elemente in der Combobox zu erzeugen? Oder kann ich dem Model irgendwie ein abgeleitetes Field „displayNameSelect“ geben, z.B. mit dem Convert-Parameter, und darauf im Form zurückgreifen?
Letzteres hab ich auch schon erfolglos versucht:
{ name : 'displayNameSelect', type: 'string', convert: function (value, record) { console.log(record); return record.name + " (" + record.nr + ")"; } },
Das console.log wird nicht ausgeführt, und „displayNameSelect“ bleibt immer leer.