Comment obtenir un jqGrid ligne sélectionnée cellules de la valeur
Personne ne sait comment obtenir les cellules de la valeur de la ligne sélectionnée de JQGrid ? je m en utilisant mvc avec JQGrid, je veux accéder à la valeur de la colonne masquée de la ligne sélectionnée ?
Vous devez vous connecter pour publier un commentaire.
D'abord, vous pouvez obtenir le
rowid
de la ligne sélectionnée à l'égard degetGridParam
méthode et 'selrow' en tant que paramètre et ensuite vous pouvez utiliser getCell pour obtenir la valeur de la cellule de la colonne correspondante:La
'columnName'
doit être le même nom que vous utilisez dans le'name'
propriété de lacolModel
. Si vous avez besoin de valeurs de plusieurs colonnes de la ligne sélectionnée, vous pouvez utiliser getRowData au lieu de getCell.<table>
élément. Donc, vous devriez utiliser l'id de la grille dont vous avez besoin.var grid = $('#UserDetails'); var id = grid.getGridParam('selrow');
J'ai fait de même. Surclick
cas, le code ci-dessus est appelé, mais j'aiid
commenull
. Quelle pourrait être la raison pour cela?selrow
paramètre signifie qu'aucune ligne n'est sélectionnée dans la grille à l'heure actuelle.UserDetails
est cliqué.$('#UserDetails').click(function() {...})
Dois-je écrire un gestionnaire pour chaque ligne?Vous pouvez utiliser de cette manière aussi
Juste pour ajouter, vous pouvez également récupérer un jqGrid valeur de la cellule, basé sur le rowID, plus un index de colonne (plutôt que le nom de la Colonne):
Donc, pour aller chercher la valeur dans la quatrième colonne (indice # 3) pour la ligne de clé primaire ID 1234, nous pourrions utiliser ce:
Btw, sur un sujet sans rapport avec (mais merci de ne pas voter de moi vers le bas):
Je ne savais pas que vous le pouvez, assez facilement, lier des zones de texte à votre jqGrid, de sorte que vos utilisateurs peuvent faire une recherche instantanée, sans avoir à ouvrir la boîte de dialogue de Recherche.
Pour ce faire, vous avez besoin d'un peu de code HTML comme ceci:
Et un peu de JavaScript comme ceci:
C'est un vrai jeu-changeur pour moi... il fait vraiment jqGrid beaucoup plus convivial.
Les utilisateurs peuvent immédiatement commencer à taper dans leur chaîne de recherche, plutôt que de devoir ouvrir la boîte de dialogue de Recherche, n'oubliez pas de changer l'opérateur "contient", puis commencez à taper, et fermer la boîte de dialogue de recherche de nouveau.
Utiliser "selrow" pour obtenir la ligne sélectionnée Id
var myGrid = $('#myGridId');
var selectedRowId = myGrid.jqGrid("getGridParam", 'selrow');
et ensuite utiliser getRowData pour obtenir la ligne sélectionnée au niveau de l'index selectedRowId.
var selectedRowData = myGrid.getRowData(selectedRowId);
Si le multiselect est définie sur true jqGrid, puis utiliser "selarrrow" pour obtenir la liste des lignes sélectionnées:
var selectedRowIds = myGrid.jqGrid("getGridParam", 'selarrrow');
Utilisation de la boucle pour parcourir la liste des lignes sélectionnées:
var selectedRowData;
for(selectedRowIndex = 0; selectedRowIndex < selectedRowIds .length;
selectedRowIds ++) {
}
yo ont à declarate de vars...
var nombre_img_articulo = $('#liste').jqGrid('getCell', selectedRowId, 'img_articulo');
Seulement Caisse :
Solution 1 :
Dans Subgrid Fonction, Vous devez écrire la suite :
Où
row_id
est la variable qui vous permet de définir une subgrid comme paramètre.Et
id
est le nom de la colonne dont vous souhaitez obtenir la valeur de la cellule.Solution 2 :
Si Vous Obtenez Jqgrid Id de Ligne En alerte, Puis réglez votre id de clé primaire comme
key:true
Dans ColModels. Ainsi, Vous obtenez la valeur de votre id de base de données en alerte. Comme ceci :