2010-04-20 4 views

Répondre

1

Utilisez un formateur personnalisé sur n'importe quelle cellule de la grille. Pour plus d'informations à ce sujet, voir http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter

Voici comment je l'ai fait. Je voulais que la première colonne de ma grille apparaisse comme s'il s'agissait d'un lien cliquable (mais en réalité elle déclenche un événement jqgrid personnalisé, onCellSelect).

Snippet de mon objet réseau:

colModel :[ 
{name:'ticket', index:'IMINDT', width:125, formatter: pointercursor}, 

pointercursor est un nom de fonction. Le code se définit comme ceci:

// Custom formatter for a cell in a jqgrid row. 
function pointercursor(cellvalue, options, rowObject) 
{ 
var new_formatted_cellvalue = '<span class="pointer">' + cellvalue + '</span>'; 
return new_formatted_cellvalue; 
} 

Ma classe CSS de "pointeur" est:

.pointer { 
cursor: pointer; 
text-decoration: underline; 
}  

Ca y est!

+3

Je ne suis pas un grand fan de l'ajout d'une durée telle qu'elle modifie réellement le comportement de onCellSelect . Si vous cliquez sur le contenu 'span', il ne déclenchera pas l'événement onCellSelect. Reportez-vous à la réponse Woggles comme une solution de contournement possible. – Mike

16

Cela peut se faire plus facilement en utilisant les classes colModel propriété comme ci-dessous:

{ name: 'Email', index: 'Email', classes: 'pointer' } 

Du wiki:

Cette option permet d'ajouter des classes à la colonne. Si plus d'une classe sera utilisée, un espace doit être défini. Par exemples de classes: 'class1 class2' définira class1 et class2 dans chaque cellule de cette colonne. Dans la grille css, il existe une classe ui-ellipse prédéfinie qui permet d'attacher des ellipses à une ligne particulière. Cela fonctionnera aussi dans FireFox.

5

Je viens d'ajouter ceci dans mon fichier css

#mygrid .jqgrow{ 
    cursor:pointer; 
} 
+0

Merci, cette solution ajoute le pointeur pour toutes les colonnes. –

1

dans le fichier css mis ceci:

.ui-jqgrid .ui-jqgrid-btable { cursor : pointer; } 
Questions connexes