Attualmente ho una griglia Kendo-UI. Ha poche colonne dove l'utente può ordinare, funziona alla grande. Ho anche un link dettagli su ogni riga, quindi se l'utente fa clic su questo vengono portati a una pagina dei dettagli. Ho bisogno di passare l'ordinamento corrente nella pagina dei dettagli come valore. Come posso ottenere l'ordinamento attuale? c'è un evento a cui posso legare? GrazieCome ottenere l'evento di ordinamento della griglia di kendo ui?
risposta
È possibile ottenere la configurazione di ordinamento quando si desidera utilizzare sort method.
Esempio: essere grid
il id
della griglia. Fare:
// Get the grid object
var grid = $("#grid").data("kendoGrid");
// Get the datasource bound to the grid
var ds = grid.dataSource;
// Get current sorting
var sort = ds.sort();
// Display sorting fields and direction
if (sort) {
for (var i = 0; i < sort.length; i++) {
alert ("Field:" + sort[i].field + " direction:" + sort[i].dir);
}
} else {
alert("no sorting");
}
che è esattamente quello che stavo cercando .. grazie per questo. Sai come ottenere il valore del numero di riga di una riga cliccata? se clicco sulla quinta riga per avvisare 5 .. o se vado alla quarta pagina e clicco sulla quinta per farla allerta 45? – user2206329
Come raccomandazione generale, non si dovrebbe fare una nuova domanda in un commento poiché le possibilità che altri la leggano sono piuttosto basse. Detto questo, dovresti usare 'dataSource.indexOf' dell'elemento corrispondente alla riga cliccata, e conosci la riga usando qualcosa come' grid.dataItem ($ (this) .closest ("tr")); 'all'interno del gestore dell'evento 'click'. – OnaBai
Fresco, l'unico problema è che una volta applicato l'ordinamento, l'ID è sempre lo stesso. Mi sarei aspettato che il primo elemento fosse indice di 1. Ma quando gli articoli sono ordinati per desc il primo elemento è 1200. Voglio solo un numero di riga per ogni riga indipendentemente dall'ordinamento. grazie per questo lo posterò come una nuova discussione. Ma è così difficile pubblicare una domanda sul flusso dello stack. Continua a dire che la domanda non passa la loro convalida. – user2206329
mi sono imbattuto in questo bisogno oggi e ho imparato che l'evento è ora presente a partire dal 2016 R3 rilascio (2016.3.914).
Esempio utilizzo:
<div id="grid"></div>
<script>
$("#grid").kendoGrid({
columns: [
{ field: "name" },
{ field: "age" }
],
dataSource: {
data: [
{ id: 1, name: "Jane Doe", age: 30 },
{ id: 2, name: "John Doe", age: 33 }
],
schema: {
model: { id: "id" }
}
},
sortable: true,
sort: function(e) {
console.log(e.sort.field);
console.log(e.sort.dir);
}
});
</script>
See: http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#events-sort
Se il collegamento è ciò che fa scattare con i dettagli, perché non si ottiene ordinamento corrente in là? – OnaBai
ma come faccio a sapere quale ordinamento di colonna è stato selezionato? se discendente o ascendente? cioè se ho 4 colonne. Ordino su Column 3 desc. come lo so? – user2206329
Per favore, controlla la mia risposta – OnaBai