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

War es hilfreich?

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;
        }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top