Comment puis-je obtenir mon sélectionné GridView lignes dans une variable Javascript?
- Je utiliser ASP.NET C# MVC3 avec rasoir de modèles et je veux savoir la suite:
J'ai un DevExpress GridView
dans lequel je peux sélectionner les lignes.
Lorsqu'il est sélectionné, je veux les passer dans une variable Javascript. Comment puis-je faire cela?
Et si j'ai sélectionné plusieurs lignes en même temps, je peux les obtenir dans un tableau ou quelque chose?
Edit:
Merci pour le commentaire, j'ai maintenant la suivante 'JQuery' fonction:
$(function () { //Verwijder functie
$('#select').click(function () {
var Delete = confirm("Weet u zeker dat u de geselecteerde records wilt verwijderen?");
if (Delete) {
//Verwijder Funtie
var test = ;
alert(test);
} else {
//Niks
}
});
});
J'ai besoin d'obtenir l'Id de l'lignes sélectionnées dans la variable "test", j'ai essayé avec GetSelectedFieldValuesCallback et GetSelectedFieldValues. Mais ce n'est pas le travail que je suis attendu.
Si quelqu'un peut fournir un exemple, je voudrais vraiment l'apprécier.
OriginalL'auteur MrSlippyFist | 2012-04-12
Vous devez vous connecter pour publier un commentaire.
Il y a un manque surprenant d'exemples pour l'un des la plupart des opérations de base d'une grille. Surtout si vous souhaitez envoyer les lignes vers le serveur pour un traitement ultérieur.
Le problème avec la grille.GetSelectedFieldValues() est qu'elle génère une publication. Ce qui signifie que vous auriez besoin d'une deuxième publication d'envoyer des données vers le serveur.
La solution la plus élégante, j'ai pu obtenir est d'utiliser la grille.GetSelectedKeysOnPage(). Ce sera le retour de certains des principaux champs définis par les paramètres.KeyFieldName = "Id";
le point de vue qui permet d'afficher sur votre grille.
Il est important que vous créez votre grille dans une autre vue partielle (ne sais pas pourquoi, mais c'est ce qu'il dit sur la devexpress page.
La "ProductsPartial" vue partielle:
Et enfin le contrôleur dans laquelle vous pouvez traiter les données
De cette façon, vous pouvez traiter toutes les données que vous souhaitez côté serveur
Je ne suis pas d'accord avec votre réponse.Parce que, comme par GetSelectedFieldsOnPage et mes propres tests avec cette fonction, il ne sélectionne que les lignes qui sont sélectionnés sur cette page. Par exemple, si votre grille afficher les enregistrements en 15 pages marquée par pageSize, alors vous aurez seulement être sélectionné, les lignes de la première page. Que faire si vous avez besoin pour obtenir des lignes sélectionnées sur toutes les pages, alors vous aurez besoin de cette fonction GetSelectedFieldValues.
OriginalL'auteur Draxler
J'ai trouvé la solution.
La fonction suivante fournit les données que je veux:
Pour les gens qui ont/ont le même problème.
Changement "Index" dans
à tout ce que vous avez nommé votre gridview, et le changement "Id" de la colonne que vous souhaitez obtenir.
Vous pouvez également obtenir plusieurs données à partir d'une seule ligne, pour ce faire, vous devez ajouter une autre boucle for dans le
function OnGetSelectedFieldValues(result)
comme suit:Vous allez avoir besoin de changer le getter comme suit
Index.GetSelectedFieldValues("Id;YOUROTHERCOLUMN", OnGetSelectedFieldValues);
J'espère que cela aidera à l'avenir pour d'autres utilisateurs.
OriginalL'auteur MrSlippyFist