2009-12-15 3 views
2

J'ai un jqGrid en cours d'exécution sur ma page jsp, et j'aime toutes les fonctionnalités de cette grille jusqu'à maintenant. Maintenant, j'essaie d'explorer la fonctionnalité de l'événement. J'essaye d'attacher une fonction à l'événement onSelectRow de la grille, mais rien ne fonctionne quand je clique sur n'importe quelle rangée de la grille. Peux-tu me dire pourquoi? Je utilise jqGrid 3.6. Ai-je besoin de référencer n'importe quelle autre bibliothèque javascript pour que cela fonctionne?Événement jqGrid non activé ou déclenché sur Row Select

Ma grille apparaît avec le chargement des données, mais lorsque je clique sur une ligne, rien ne se passe.

ci-dessous est mon script:

<script src="javascript/jquery-1.3.2.js" type="text/javascript"></script> 
<script src="javascript/ui.core.js" type="text/javascript" ></script>  
<script src="javascript/i18n/grid.locale-en.js" type="text/javascript"></script> 
<script src="javascript/jquery.jqGrid.min.js" type="text/javascript"></script>  
<script src="javascript/ui.multiselect.js" type="text/javascript"></script> 
<script src="javascript/jquery-ui-1.7.2.custom.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    jQuery(document).ready(function(){ 
    jQuery("#list").jqGrid({ 
     url:'admin.htm', 
     datatype: 'xml', 
     mtype: 'GET', 
     colNames:['ID', 'data 1','data 2'], 
     colModel :[ 
     {name:'ID', index:'ID', hidden:true}, 
     {name:'data 1', index:'data 1', width:90}, 
     {name:'data 2', index:'data 2', width:80, align:'right'}    
     ], 
     rowNum:10, 
     rowList:[10,20,30], 
     sortname: 'ID', 
     sortorder: 'desc', 
     viewrecords: 'true', 
     caption: 'Administration', width:"920", 
     shrinkToFit:'false', } 
); 

    jQuery("#list").jqGrid({ 
    onSelectRow: function(id){ alert('Selected row ID ' + id); } 
    }); 
</script> 

Ma grille apparaît avec chargement des données, mais quand je clique sur une ligne, rien ne se passe.

Répondre

7

Vous avez une virgule supplémentaire après shrinkToFit qui doit être supprimée. Mais avant de résoudre ce problème, pourquoi est-ce que vous ajoutez le gestionnaire onSelectRow ultérieurement plutôt que dans le cadre de la définition de la grille? Vous pouvez simplement l'ajouter lors de la création de la grille:

shrinkToFit:'false', 
onSelectRow: function(id){ 
    alert('Selected row ID ' + id); 
} 
}); 
0

Vous manque probablement quelques dépendances jqGrid (il est modulaire et la configuration par défaut ne comporte pas beaucoup de ses caractéristiques). Essayez de faire la même chose sur un paquet complet de jqGrid. En outre, assurez-vous de vérifier la console d'erreur JS pour les signes de rupture.

-1

J'ai trouvé cela comme un exemple de onSelectRow et j'ai trouvé que j'avais des problèmes à moins que je ne l'ai déplacé dans la déclaration originale

Questions connexes