lucie houel
Messages postés17Date d'inscriptionlundi 7 février 2005StatutMembreDernière intervention27 mars 2006
-
25 avril 2005 à 10:24
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
25 avril 2005 à 17:55
bonjour à tous et à toutes,
J'ai une petite question : est-il possible qu'une classe fille utilise l'html d'une classe mère, en la modifiant .... ouh là c'est pas clair ..... je m'explique. J'ai lu de très bons articles sur l'héritage de webuser control pour des formulaires de saisie par exemple. Ce qui me chagrine, c'est qu'à chaque fois les formulaires sont identiques.
En bref, j'ai des pages avec des datagrids, les pages de consultation et de mise à jour possèdent les mêmes datagrids (même manière de les charger, etc.) sauf que les datagrids de mise à jour contiennent des boutons en plus. Je me demande alors dans quelle mesure les pages de mise à jour pourraient hériter des pages de consultation ? Je vois bien comment réaliser celà avec des datagrids construits dynamiquement, mais je sais pas si la partie design (visual studio) serait utilisable ?
je viens de lire dans un article qu à priori cela devrait etre possible ... à priori il faut que la page (classe) mère soit compilée. Je viens de tester, mais quand j'ouvre ma page (classe) fille, je ne récupère pas la partie html dans la partie design
Si quelqu'un peut m'éclairer ou me conseiller une ressource svp
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 25 avril 2005 à 14:19
Il va surement falloir jouer avec les evenements de la page.
Mais peux tu etre un peu plus claire s'il te plait, me donner un exemple un petit peu plus concret ;)
Qu'entends tu par modifier le HTML du parent ? en faisant me.parent,ou
mieux encore, me.namingContainer tu as accés au control du parents, et
donc à tout ce qu'il contient en faisant un
me.namincontainer.controls(n) aprés c'est une question d'evenement pour pouvoir modifier ca ou non.
lucie houel
Messages postés17Date d'inscriptionlundi 7 février 2005StatutMembreDernière intervention27 mars 2006 25 avril 2005 à 14:50
pour etre plus précise ...
ma page de consultation possède un datagrid tout simple ....
ma page de mise à jour possède le même datagrid avec en plus un footer pour l'ajout d'une nouvelle occurrence et des colonnes avec des boutons de suppression et d'édition (valider annuler)
étant donné que la chargement, le tri, l'affichagen etc. se font de la même manière, je me demandais si la deuxième page pouvait hériter de la première, ainsi du côté VBn je n'aurais que l'évènement itemcommand à gérer
là question c'est : comment ajouter les éléments de mon datagrid de mise à jour en plus ? Là tu me réponds : facile tu récupères le datagrid de la page mère et tu fais addcolumns ou qqchose comme ça () et moi je te réponds : oui mais si je veux le faire en mode design ?
Ce problème je le retrouve dans un user webcontrol qui est un moteur de recherche avec trois dropdownlist dont les deux premiers sont génériques à plusieurs moteurs. Je voudraus que les deux premiers soient dans une classe mère et que les troisièmes soient ajoutés dans des classes filles, mais toujouts en mode design.
Si je fais l'héritage et que j'ouvre mes classes filles, je n'ai rien en mode design d'où ma quesiotn
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 25 avril 2005 à 17:23
Je comprend pas ce que tu veux, quand tu dis je veux le faire en mode design ?
Deja moi le datagrid j'aime pas trop, alors le mode design ... c'est encore pire :D (sous VS2005 par contre j'aime bien :))
Ce que j'arrive pas à comprendre c'est pourquoi tu veux pas le mettre en code ? tu peux faire des datagrid en mixte (code+design)
Pour ce qui est du mode design, si toutefois tu veux t'aventurer la dedans, il faut jouer avec des attributs, fouiller dans les docs, hyper mal documentés etc... (pour info j'ai abandonné un control que je voulais rendre joli en mode design, tellement c'etait le bordelle :p)
Pour ce qui est du problème, tu peux mettre du code ? voir meme un dessin, ou un truc du genre, car tu m'a perdus ;)
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 25 avril 2005 à 17:40
J'AI COMPRIS :):):):)
C'est possible ... les controles datagrid le font, donc c'est théoriquement possible.
Pratique : c'est impossible :D c'est hyper mal documenté, il faut faire écrire 15 fois le code juste pour le design & co, je me rappelle plus des attributs magiques, mais il en faut plein ... le namespace a importer doit etre system.ComponentModels ou un truc du genre ...
Mais tout codeur web qui se respecte bannira simplement et purement le mode design de VS.net 2003, car il nous fait une pagaille pas possible au sein du code html ...
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 25 avril 2005 à 17:55
Désolé ...
Je dis pas que c'est techniquement impossible, mais c'est ultra super hyper compliqué, tu vas devoir ecrire beaucoup plus de code pour gerer le design, que pour ton control ...
Cette solution est envisageable seulement pour les personnes faisant des controles tiers ... mais sinon tout bon developpeur n'utiliseras jamais le mode design ...
Par contre si tu veux faire des actions qui necessitent un assistant, tu as quand meme la fenetre de propriété en mode code, et la tu peux lancer des assistants, je suis pas sur pour VS2003, mais pour VS2005 oui !!!