Obtenir une colonne spécifique lorsque la ligne Kendo Grid est sélectionnée
-
21-12-2019 - |
Question
Je suis assez nouveau sur Kendo UI et j'apprécierais que quelqu'un puisse me donner un conseil.J'ai besoin d'obtenir une valeur de colonne spécifique lorsque ma ligne de grille est sélectionnée.Jusqu'à présent, je peux obtenir les valeurs de toutes les colonnes de la ligne sélectionnée :
$("#grid").kendoGrid({
...
change:onChange,
columns: [{
field: "Number",
title: 'Number',
}, {
field: "Title",
title: "Title",
}]
});
Fonction onChange :
function onChange(arg) {
var selected = $.map(this.select(), function (item) {
return $(item).text();
});
alert(selected);
}
Je dois prendre la valeur sélectionnée de Number
colonne.Quelque chose comme $(item[name='Number']).text();
Je sais que je pourrais analyser la chaîne mais je suppose qu'il existe un autre moyen.
Merci beaucoup
La solution
Vous devriez utiliser le dataItem
méthode de la grille Kendo UI pour récupérer l'élément de données réel de la ligne que vous avez sélectionnée - référence.Ensuite, vous pouvez récupérer la valeur dont vous avez besoin par nom de propriété.
function onChange(e) {
var selected = this.select()[0],
item = this.dataItem(selected);
alert(item.Number);
}
Autres conseils
Si vous avez plusieurs sélection et souhaitez collecter une première colonne de toutes les lignes sélectionnées.Utilisez le code suivant
var allSelected = "";
var selectedRows = this.select();
for (i = 0; i < selectedRows.length ; i++) {
allSelected = allSelected + ", " + this.dataItem(selectedRows[i]).task_number;
}