Bestimmte Spalte abrufen, wenn die Kendo-Rasterzeile ausgewählt ist
-
21-12-2019 - |
Frage
Ich bin ziemlich neu in der Kendo-Benutzeroberfläche und würde mich freuen, wenn jemand einen Rat geben könnte.Ich muss einen Wert für eine bestimmte Spalte erhalten, wenn meine Rasterzeile ausgewählt ist.Bis jetzt kann ich die Werte aller Spalten der ausgewählten Zeile abrufen:
$("#grid").kendoGrid({
...
change:onChange,
columns: [{
field: "Number",
title: 'Number',
}, {
field: "Title",
title: "Title",
}]
});
onChange-Funktion:
function onChange(arg) {
var selected = $.map(this.select(), function (item) {
return $(item).text();
});
alert(selected);
}
Ich muss den ausgewählten Wert von nehmen Number
Spalte.So etwas wie $(item[name='Number']).text();
Ich weiß, dass ich die Zeichenfolge analysieren könnte, aber ich denke, es gibt einen anderen Weg.
Danke schön
Lösung
Sie sollten das verwenden dataItem
methode des Kendo UI-Rasters zum Abrufen des tatsächlichen Datenelements der von Ihnen ausgewählten Zeile - Referenz.Anschließend können Sie den gewünschten Wert anhand des Eigenschaftsnamens abrufen.
function onChange(e) {
var selected = this.select()[0],
item = this.dataItem(selected);
alert(item.Number);
}
Andere Tipps
wenn Sie eine Mehrfachauswahl haben und die erste Spalte aller ausgewählten Zeilen sammeln möchten.verwenden Sie folgenden Code
var allSelected = "";
var selectedRows = this.select();
for (i = 0; i < selectedRows.length ; i++) {
allSelected = allSelected + ", " + this.dataItem(selectedRows[i]).task_number;
}