So der Titel sagt so ziemlich alles. Ich versuche, das neue MultiSelect-Widget in die benutzerdefinierte Popup-Editor-Vorlage eines Rasters einzubinden.Kendo Grid mit benutzerdefinierten Popup-Editor mit MultiSelect - kann nicht ausgewählte Artikel in Modell
Ich verwende die Data Attribute Initialization-Methode und lese die Dropdown-Optionen von einer Remote-DataSource. Das funktioniert alles in Ordnung, aber ich kann die Werte der ausgewählten Objekte nicht in das Modell bringen.
Wenn ich die Zeile speichere, wird ein Array von Daten an den Server gesendet, der das erste im MultiSelect ausgewählte Datenelement darstellt, und nicht eine durch Kommas getrennte Liste ausgewählter Werte.
Irgendwelche Ideen, wie ich den MultiSelect-Wert (Liste/Array von ausgewählten Werten) in das Rastermodell bekommen kann?
Dank
Edit: Ich habe jetzt eine Abhilfe verwendet, aber ich würde ich interessiere es zu wissen, ob ein ‚richtiger Weg‘ MultiSelects mit Grids zu verwenden.
dieses Problem umgehen, um so etwas zu der Konfiguration des Grid hinzuzufügen:
save: function(e) {
e.model.items = $('#select_items').data("kendoMultiSelect").value();
}
Dies ist der relevante Teil der Popup-Editor-Vorlage:
<input name="select_items" id="select_items" data-value-field="id"
data-text-field="description" data-source="itemsDataSource"
data-role="multiselect" data-auto-bind="false" data-item-template="itemList">
ich nicht select_items
in der habe Modelldefinition: Ich verwende die obige Problemumgehung, um den Wert von MultiSelect in das Modell items
zu kopieren. Das scheint zu funktionieren, ich weiß einfach nicht, warum es notwendig ist.
Können Sie Ihren Editor Code in Ihrem OP enthalten? Es scheint mir, dass das Problem mit dem Editor ist und die Multiselect-Definition das Modell nicht aktualisiert. – OnaBai
Hatte nur einen Gedanken ... könnte es etwas mit der Modelldefinition zu tun haben? Was sollte der Feldtyp für eine MultiSelect sein? Ich benutze 'string' ist das richtig? – Mat
Intern ist es ein Array von Strings, aber wenn es angezeigt wird (die Eingabe) ist eine Serialisierung des Arrays und dann eine Zeichenfolge. Sie können die Karte in transport.create/transport.update verwenden, um sie in das zu konvertieren, was Sie auf dem Server benötigen (Sie können dies auch in ParameterMap tun (siehe DataSource-Dokumentation) – OnaBai