2009-10-14 12 views
1

J'utilise la suite de contrôle Telerik ASP.net (2008 Q3 je crois, ne peut pas encore mettre à jour). J'ai un radcombobox dans un contrôle Radgrid (dans un modèle Edit de GridTemplateColumn). Si les fonctions sont correctes, mais j'ai une validation côté client sur d'autres contrôles sur la grille (qui semblent fonctionner sans erreurs). Pour une raison quelconque, après la validation côté client, la zone de liste déroulante cesse de fonctionner. Pas d'erreurs js visibles, la chose meurt juste.Telerik RadComboBox dans une validation côté client RadGrid

Quelqu'un a-t-il vu cela et a-t-il corrigé? Google m'a échoué.

Merci pour votre aide.

Répondre

1

Ok, je l'ai résolu. Travail très cludgy autour. D'abord, j'ai un panneau en dehors du multi-view qui contient ma grille avec un autre Radcombobox similaire qui est également mort lors de la validation. J'ai commencé à penser, et si j'avais fait une sorte de retour, est-ce que ça réparerait les choses pour une raison quelconque? Donc dans ma grille j'ai ajouté un validateur personnalisé qui valide le RadComboBox dans ma grille. Il appelle une méthode de validation javascript comme si ...

function valCOMBO(o, a) { 
     a.IsValid = true; 
     setTimeout(Res, 500); 
     } 
     function Res() { __doPostBack("<%=OPCOCombo.UniqueID %>");} 

Remarque, puisque ce champ ne doit être rempli par l'utilisateur, je retourne toujours est valide est vrai. C'est ici que la quasi-magie se produit. Je fais un post sur l'AUTRE RadComboBox dans le panneau supérieur en dehors de la grille en javascript. Le sommet de la grille RadComboBox a son autopostback défini sur true, ne sait pas si cela est nécessaire si vous essayez cet exemple.

Cela a fonctionné. Tout à coup, les deux RadComboBox, à la fois sur la grille et sur la grille, ont recommencé à fonctionner. Mais j'ai remarqué que la valeur serait parfois perdue dans le RadComboBox de la grille, donc pour les fous rires, j'ai ajouté la légère pause avant de faire le post de retour de 500 ms. Cela a fait l'affaire. En fait, il fonctionnerait avec une très petite pause, mais je l'ai augmenté à 500 ms pour une marge de sécurité au cas où un utilisateur final aurait une connexion lente et cela pourrait avoir de l'importance.

Cluggy, cluggy, cluggy. J'aurais aimé pouvoir utiliser jQuery, et utiliser une alternative à ces télégrammes radicaux de Telerik, mais telle est la vie (j'entends une version limitée de jQuery est enterrée dans Telerik, va expérimenter avec cela sur des versions ultérieures). Ce qui me gêne, c'est que la dernière version de Telerik corrige ce problème (mieux), donc tout ce trucage finira par être inutile lors de la mise à niveau (pas encore, certains conflits avec certains contrôles personnalisés hérités de Telerik. Jan Q1 2009+ briser ces contrôles :()

Espérons que cela pourrait aider quelqu'un.

+0

Ce travail «très cludgy» m'a juste sauvé des heures de travail ... merci beaucoup !!! –

0

une autre option. Je suis tombé sur un scénario où je devais utiliser beaucoup de RadComboboxes donc plutôt que de vous soucier de valider leur contenu, je viens d'ajouter des champs de texte avec un bouton à côté de chacun qui ouvrirait une radwindow avec un RadComboBox afin que les valeurs puissent être choisies dynamiquement.Sur javascript sélectionné, la valeur sélectionnée est renvoyée à l'élément cible sur la page d'ouverture de la fenêtre. quelques maux de tête que je devais travailler avec avoir un tas de paramètres de contexte mis en javascript avant d'appeler le webservice sur chaque touche (indice: avec IE définir la hauteur de Radcombobox au moins pour les versions 2008 Telerik ... si vous ne le faites pas, vous allez commencer à avoir des gels).

Encore une fois, espérons que cette idée est utile.