Editer les colonnes d'un gridView

Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007
-
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007
-
Bonjour,

Voici mon soucis :
J'ai un gridView qui s'affiche à l'aide d'une procédure stockée. Je voudrais le rendre éditable avec des dropdownlists et des texts box.

Comment puis-je procéder?

Merci d'avance et bon aprem

 ElpenS

11 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
13 octobre 2010
29
Bonsoir,

"à l'aide d'une procédure stockée"  ? avec un sqldatasource si c'est le cas il faut aussi renseigner la propriété editcommand (ou un truc du genre) puis activer l'édition. En passant par le designer c'est relativement simple, mais la question est pour l'instant vague donc dis moi plutot ou tu coince :-)

<hr />Cyril - MVS - MCP
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007

Oui, en effet, c'est bel et bien un datasource qui me retourne mon grid.

J'ai inséré dans la "selectCommand"  une procédure stockée.
Ensuite, J'ai ajouté une colonne "CommandField" avec un editButton ainsi qu'un delete

Ensuite, dans le code behind, j'ai ajouté les deux fonctions :

gridView_RowDeleting(...) & gridView_RowEditing(...)

Dans la deuxième, j'ai ajouté : gridView.editIndex = e.RowIndex
Ce qui me permet d'editer les champs. Or, je voudrais les remplacer avec d'autres controles tel que des dropdownlists,...

Voilà ou je n'arrive plus a continuer.

Merci encore et bonne journée

 ElpenS
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
13 octobre 2010
29
IlL faut modifier les templates, de mémoire c'est le edititemtemplate tu rajoutes ici tes différentes textbox/drop etc...


<hr />
Cyril - MVS - MCP
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007

Donc, pour procéder de telle manière, je dois ajouter toutes les colonnes dans mon grid, puis les rendre en templates.

Mais il n'y a pas un moyen de procéder, en laissant les colonnes telles quelles?

Merci pour ton aide, elle m'est toujours bien utile.

Bonne journée

 ElpenS
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
13 octobre 2010
29
cad tel quel ? tu ne peux pas faire ca sans utiliser les template SAUF si tu créer toi meme un colonne template mais la c'est assez compliqué :p

<hr />Cyril - MVS - MCP
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007

OK, merci, je vais tester tout ca cette semaine.

Je pense que je vais choisir la solution la plus simple, a savoir transformer les colonnes que je veux éditer en Template.

Merci encore pour tes conseils, je validerai ta réponse dès que je l'aurais fait.

Bonne journée

 ElpenS
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007

(Re)Bonjour,

J'ai transformé mon grid avec des TemplateColumn. Dans l'editItemTemplate, g ajouté une dropdownList qui contient 2 éléments.
Or, quand je change sur le deuxième élément, il reste tjrs sur le premier...

Qu'est-ce qui se passe?

Merci et bonne journée,

 ElpenS
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007

Je m'excuse, mais j'ai oublié de préciser que si j'enlève l'AutoPostBack = true, alors mes controls restent à la bonne valeur, mais il me faut absolument cette options.

Merci

 ElpenS
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
13 octobre 2010
29
Bonjour,

Le problème vient du fait que sur le postback tu rebind le dropDownList, il faut aller faire en sorte de ne pas rebinder tes elements lors du postback

<hr />Cyril - MVS - MCP
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007

Donc, si j'ai bien compris, dans mon Page_Load, je dois faire un truc du style :

If Not Page.IsPostBack Then
   myGrid.findControl("maDropDownList").databind
Else
   myGrid.findControl("maDropDownList").???
End If

 ElpenS
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007

Ah, mais ça risque d'être un sacré foutoir....

J'ai une 1ère dropDownList. Quand je change une valeur dans celle-ci, elle "recherche" les valeurs pour une deuxième dropDownList, qui elle affiche les options dans une 3ème dropDownList.
Quand la valeur de la troisième est selectionée, je fais un grid.dataBind(). C'est donc là que se produit le refresh qui fout le bordel.

Mon problème est que je n'ose pas avoir de bouton pour lancer le grid. Sinon, cela aurait simplifier grandement la tache.

Ben voilà, je sais plus trop comment continuer, alors je prends volontier vos conseils....

Merci d'avance et bon apétit

 ElpenS