2011-07-27 4 views
0

Est-il possible d'afficher une boîte de sélection en mode affichage pour chaque ligne. La zone de sélection contient différentes actions pouvant être effectuées. à savoirListe déroulante pour chaque ligne (pas en mode édition)

Actions:
Aller à la page 1
Aller à page2
...

Ligne 1 peut sélectionner page1, page2
Row 2 peut sélectionner page1, page2, page3
...

Répondre

0

Vous pouvez utiliser custom formatter pour inclure <select> dans les cellules de la colonne "actions". Le formateur personnalisé doit renvoyer les fragments HTML en tant que chaînes. Plus tard, à l'intérieur de loadComplete, vous pouvez appeler quelque chose comme ("#list select").bind('change', ... pour lier votre gestionnaire d'événements "change" qui devrait être appelé si l'utilisateur change l'élément de la sélection correspondante. Le code exact dépend de vos détails d'implémentation: où vous détenez quelles informations et comment les actions "Aller à la page1" que vous souhaitez implémenter.

+0

Je pense que cela fonctionnera avec le formateur personnalisé, puis ajouter l'événement change à la liste. Mais je peux voir un inconvénient. Si chaque ligne peut choisir des pages différentes, je dois faire une demande de serveur pour chaque ligne. – chitech

+0

@chitech: Désolé, mais je ne vois aucun problème. Vous pouvez lier une fonction à tous les éléments sélectionnés que vous avez inclus. Ensuite, à l'intérieur de votre gestionnaire d'événement 'onChange', vous aurez' event' comme premier paramètre. le 'event.target' est l'élément qui a été changé. Vous pouvez examiner la valeur de l'élément sélectionné avec '$ (" option: selected ", event.target) .val()' et simplement définir 'windows.location' sur l'URL construite en fonction de l'option' $ (": selected", event.target) .val() '. Ça devrait marcher. – Oleg

+0

Maintenant, je le vois. Oui, ça devrait marcher. – chitech

Questions connexes