jqGrid dynamique, sélectionnez l'option

Je suis de la création d'un jqgrid avec déroulante colonnes et je suis en utilisant des cellules de l'édition. J'ai besoin des options de la liste déroulante des colonnes pour modifier dynamiquement et j'ai essayé de mise en œuvre de ce par la définition de la colonne à:

{ name: "AccountLookup", index: "AccountLookup", width: 90, editable: true, resizable: true, edittype: "select", formatter: "select" },

et puis dans le beforeCellEdit événement, j'ai:

beforeEditCell: function(id, name, val, iRow, iCol) {
        if(name=='AccountLookup') {             
            var listdata = GetLookupValues(id, name);
            if (listdata == null) listdata = "1:1";                              
            jQuery("#grid").setColProp(name, { editoptions: { value: listdata.toString()} })                                
        }
    },

GetLookupValues retourne une chaîne de caractères dans le format "1:; 2:Deux", etc.
Qui fonctionne très bien cependant, les options sont remplis en un clic derrière - c'est à dire que je clique sur AccountID dans la ligne 1, et la liste déroulante est vide, par contre si je puis cliquez sur AccountID en ligne 3 les options que j'ai mis dans la rangée 1 clic sont indiquées dans la rangée 3 cliquez sur. Et ainsi de suite. Donc, toujours un seul clic derrière.

Est-il un autre moyen de réaliser ce dont j'ai besoin? Bacially la liste déroulante des options affichées sont toujours en évolution et j'ai besoin de les charger en tant que l'utilisateur entre dans la cellule pour l'édition.
Peut-être que je peux en quelque sorte à obtenir le contrôle de sélection dans le beforeEditCell événement et d'entrer manuellement ses valeurs au lieu d'utiliser le setColProp appel? Si oui pourrais-je avoir un exemple de ce que s'il vous plaît?

Une autre chose - si la liste déroulante est vide et un utilisateur de ne pas annuler la cellule à modifier, la grille de script renvoie une erreur. Je suis en utilisant clientarray l'édition si cela fait une différence.

Une chose de plus - la getChangedCells option sur la colonne select renvoie toujours le texte, et non pas la valeur/Id - at-il un moyen de contourner cela?

OriginalL'auteur | 2009-08-18