OVH Cloud OVH Cloud

UserControl

18 réponses
Avatar
Sylo
Bonjour,

Peut-on, comme dans une winform, créer une usercontrol qui hérite d'un
datagrid ou ne peut-on hérité que de System.Web.UI.UserControl

Dans le premier cas, comment fait-on

Merci
Sylo

8 réponses

1 2
Avatar
Paul Bacelar
Mais si, tu as accès au designer, tu peux même faire le tien.

Les attributs que tu as copiés indiquent à VisualStudio ou à tout autres IDE
quelle classe sera le designer du DataGrid.

Si au lieu d'utiliser ces attributs, tu utilises tes propres classes
d'attributs, tu pourras utiliser un autre Designer que celui du DataGrid.

Rien ne t'empêche de dériver ton Designer de celui du DataGrid.

Le designer est une classe comme une autre.

http://msdn.microsoft.com/msdnmag/issues/03/05/Design-TimeControls/default.aspx

Reflector te donnera des exemples de d'implémentation qui marchent puisse
que c'est le code actuellement utilisé dans ton environnement de
développement.

No Limits ;-).
--
Paul Bacelar


"Sylo" wrote in message
news:
Par contre nouvelle question...
Je voulais rajouter 2 boutons sur mon contrôle datagrid dans un tableau en
dessous du datagrid.
Comment faire pour rajouter ces deux boutons alors que je n'ai pas accés à
un designer ???
Merci bcp
Sylo

"Sylo" a écrit :

> OK j'ai trouvé...
> Il faut en fait que je crée une bibliothèque de classe, que je crée la
> classe MyDatagrid comme précité dedans puis je compile la bibli
> Ensuite, je demande à rajouter des éléments dans la barre d'outils, je


vais
> chercher ma dll et je me retrouve avec le contrôle que je peux


exploiter.
> Ke du bonheur...
> Merci vraimment bcp, je pensais pas que j'y arriverais aussi vite
> Sylvain
>
> "Sylo" a écrit :
>
> > Ok...
> > J'ai compris pour reflector. Cela ne fonctionne pas. Il doit y avoir


une
> > autre astuce.
> > Désolé d'abuser mais je t'explique ce que je fait
> >
> > 1 - je crée une classe
> > 2 - je la fait hérité et je met " Inherits


System.Web.UI.WebControls.DataGrid"
> > 3 - je rajoute avant la classe les imports
> > "Imports System.Web.UI.WebControls
> > Imports System.ComponentModel
> > Imports System.Security.Permissions"
> > 4 - j'ouvre reflector, je vais cherchez datagrid, double-click
> > J'obtient ce que tu me dit. Je copye les attributs de la classe


de
> > datagrid au début de ma classe.
> > 5 - dans ma classe, je retrouve bien les méthodes et propriété de


datagrid
> > derrière MyBase... Dans la liste des évènements, j'ai bien les


évènements
> > d'un datagrid. Super.
> >
> > Et maintenant, qu'est ce que je fait... Comment utiliser se composant


dans
> > une webform ??? Il n'apparait pas dans ma barre d'outils ???? Kelle


est la
> > manip ???
> >
> > Merci pour ton aide et reflector... Génial...
> > Sylo
> >
> > Donc je me dit qu'en fait non, je crée ma classe et je doit glisser


sur une
> > webform cette classe
> >
> >
> > "Paul Bacelar" a écrit :
> >
> > > Chez moi, cela marche très bien.
> > >
> > > J'ai utilisé Reflector sur ma machine pour avoir les attributs


correspondant
> > > à ma version du FrameWork .NET (.NET1.1 avec VS.2003).
> > >
> > > Si vous utilisez un autre FrameWork, il faut adapter les valeurs des
> > > attributs en fonction de votre FrameWork, et Reflector est là pour


vous y
> > > aider.
> > >
> > > Reflector n'est pas un simple explorateur d'objet mais un


désassembleur
> > > ..NET, en clair, vous sélectionnez une classe ou une méthode et il


est
> > > capable de vous générer un code VB, C#, Delphi ou des instructions
> > > Intermediate Language (IL) correspondant.
> > >
> > > Cas pratique, vous ne connaissez pas les attributs associés à la


classe
> > > DataGrid qui lui permet d'avoir une interface d'utilisation sexy


sous VS.
> > >
> > >
> > >
> > > - Vous sélectionné la classe DataGrid dans l'assembly et le


namespace qui va
> > > bien.
> > >
> > > - Click droit, puis selectionnez le menu Disassembler
> > >
> > > - Vous verrez apparaître, dans un nouveau volet à droit, le code


source de
> > > la classe, dans un langage .NET sélectionné préalablement dans
> > > Menu->View->Options... .
> > >
> > > - Vous n'aurez cas copier-coller les attributs de la classe Datagrid


fourni
> > > par Reflector comme attributs de votre propre classe.
> > >
> > >
> > >
> > > Si vous utilisez .NET2.0, je ne sais pas si Reflector fonctionne


dessus mais
> > > il reste l'utilitaire ILDASM fourni avec VisualStudio.
> > >
> > > Il est moins sexy, mais il a l'avantage de venir avec VisualStudio


et
> > > compatible avec le FrameWork associé.
> > > --
> > > Paul Bacelar
> > >
> > >
> > >
> > > "Sylo" wrote in message
> > > news:
> > > > Paul,
> > > >
> > > > J'ai donc créer un user control et j'ai corrigé le hinerit pour


qu'il
> > > herite
> > > > de datagrid. Ensuite, j'ai copié les imports et le texte qui suit


juste
> > > avant
> > > > le "public class"...
> > > > Ca roule je n'ai pas d'erreur.
> > > > Par contre, quand je veux ouvrir le designer, j'ai un message


d'erreur :
> > > > "Le fichier de classe associé à ce webform n'a pas pu être chargé.


Fermez
> > > > cette vue, corrigez les erruers éventuelles, puis rouvrez le web


form."
> > > >
> > > > Je n'ai pas utilisé Reflector parce que je ne vois pas à quoi il


peut me
> > > > servir. Cela semble être un explorateur d'objet mais je ne vois à


quoi il
> > > > peut m'être utile sur mon problème.
> > > >
> > > > Peut tu me le préciser car je pense que c'est la que ce situe mon
> > > problème.
> > > >
> > > > Merci bcp
> > > > Sylo
> > > >
> > > > "Paul Bacelar" a écrit :
> > > >
> > > > > Quelle cochonnerie ce VB avec ses délimiteurs à la con.
> > > > >
> > > > > Vérifier la mise en page, les NG n'aiment pas VB comme moi ;-).
> > > > >
> > > > >
> > > > >
> > > > > J'ai testé le drag-and-drop sur une page Web et sa marche


nickel.
> > > > >
> > > > >
> > > > > <CODE>
> > > > > Imports System.Web.UI.WebControls
> > > > > Imports System.ComponentModel
> > > > > Imports System.Security.Permissions
> > > > >


<Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
> > > > > Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > System.Design,
> > > > > Version=1.0.5000.0, Culture=neutral,


PublicKeyToken°3f5f7f11d50a3a"),
> > > > > PermissionSet(SecurityAction.InheritanceDemand,


Xml:="<PermissionSet
> > > > > class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) &


"
> > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > class=""System.Web.AspNetHostingPermission, System,


Version=1.0.5000.0,
> > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) &
> > > ChrW(10) &
> > > > > " version=""1""" & ChrW(13) & ChrW(10) & " Level=""Minimal""/>"


&
> > > ChrW(13) &
> > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10)),
> > > > > PermissionSet(SecurityAction.LinkDemand, Xml:="<PermissionSet
> > > > > class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) &


"
> > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > class=""System.Web.AspNetHostingPermission, System,


Version=1.0.5000.0,
> > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) &
> > > ChrW(10) &
> > > > > " version=""1""" & ChrW(13) & ChrW(10) & " Level=""Minimal""/>"


&
> > > ChrW(13) &
> > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10))> _
> > > > > Public Class MyDataGrid
> > > > > Inherits System.Web.UI.WebControls.DataGrid
> > > > > End Class
> > > > >
> > > > > </CODE>
> > > > >
> > > > > Pensez à utiliser Reflector pour savoir de quel assembly


viennent les
> > > > > classes.
> > > > >
> > > > > Maîtrisez Reflector, cela en vaux largement la chandelle


puisqu'il est
> > > très
> > > > > simple d'accès.
> > > > >
> > > > >
> > > > > --
> > > > > Paul Bacelar
> > > > >
> > > > > "Sylo" <devbnet@[antispam]free.fr> wrote in message
> > > > > news:
> > > > > > J'ai essayer de recopier ton exemple mais il me fait une


erreur sur
> > > > > > Editor,permissionset, designer (type indéfini)...
> > > > > > J'avoue ne pas tout comprendre. Si tu peux plus détailler...
> > > > > > Dans tous les cas, merci beaucoup
> > > > > > Sylo
> > > > > >
> > > > > > "Paul Bacelar" a écrit


dans le
> > > message
> > > > > > de news:
> > > > > > > Votre problème n'est pas lié à l'héritage.
> > > > > > > Vous voulez aussi avoir le même éditeur sous VS, que le


DataGrid.
> > > > > > > VS utilise les attributs d'une classe pour connaître son


éditeur, et
> > > en
> > > > > > > particulier EditorAttribute.
> > > > > > > Les attributs ne sont pas, généralement, hérités.
> > > > > > > Ils vous faut donc connaître la valeur de cet attribut et


l'utiliser
> > > > > avec
> > > > > > > votre classe dérivée, Reflector
> > > (http://www.aisto.com/roeder/dotnet/)
> > > > > est
> > > > > > > un
> > > > > > > outil très très pratique.
> > > > > > >
> > > > > > >
> > > > > > >


<Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > > PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
> > > > > > > Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > > > > > System.Design,
> > > > > > > Version=1.0.5000.0, Culture=neutral,
> > > PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > > PermissionSet(SecurityAction.InheritanceDemand,


XML:="<PermissionSet
> > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &


ChrW(10) & "
> > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > class=""System.Web.AspNetHostingPermission, System,
> > > Version=1.0.5000.0,
> > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &


ChrW(13) &
> > > > > ChrW(10)
> > > > > > > &
> > > > > > > " version=""1""" & ChrW(13) & ChrW(10) & "
> > > > > > > Level=""Minimal""/>" & ChrW(13) & ChrW(10) &


"</PermissionSet>" &
> > > > > ChrW(13)
> > > > > > > &
> > > > > > > ChrW(10)), PermissionSet(SecurityAction.LinkDemand,
> > > XML:="<PermissionSet
> > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &


ChrW(10) & "
> > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > class=""System.Web.AspNetHostingPermission, System,
> > > Version=1.0.5000.0,
> > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &


ChrW(13) &
> > > > > ChrW(10)
> > > > > > > &
> > > > > > > " version=""1""" & ChrW(13) & ChrW(10) & "
> > > > > > > Level=""Minimal""/>" & ChrW(13) & ChrW(10) &


"</PermissionSet>" &
> > > > > ChrW(13)
> > > > > > > &
> > > > > > > ChrW(10))> _
> > > > > > > Public Class MyDataGrid Inherits DataGrid
> > > > > > > ...
> > > > > > > End Class
> > > > > > >
> > > > > > > --
> > > > > > > Paul Bacelar
> > > > > > >
> > > > > > > "Sylo" wrote in message
> > > > > > > news:
> > > > > > >> En VB par exemple
> > > > > > >> (ps: j'ai essayer de faire un inherits de datagrid mais


cela ne
> > > > > m'affiche
> > > > > > >> pas le datagrid dans le designer. Hors g besoin d'y


accéder)
> > > > > > >> Merci
> > > > > > >>
> > > > > > >> "Paul Bacelar" a écrit :
> > > > > > >>
> > > > > > >> > Comme les autres classes.
> > > > > > >> > Quel language ?
> > > > > > >> > --
> > > > > > >> > Paul Bacelar
> > > > > > >> >
> > > > > > >> > "Sylo" <devbnet@[antispam]free.fr> wrote in message
> > > > > > >> > news:#
> > > > > > >> > > Bonjour,
> > > > > > >> > >
> > > > > > >> > > Peut-on, comme dans une winform, créer une usercontrol


qui
> > > hérite
> > > > > > >> > > d'un
> > > > > > >> > > datagrid ou ne peut-on hérité que de


System.Web.UI.UserControl
> > > > > > >> > >
> > > > > > >> > > Dans le premier cas, comment fait-on
> > > > > > >> > >
> > > > > > >> > > Merci
> > > > > > >> > > Sylo
> > > > > > >> > >
> > > > > > >> > >
> > > > > > >> >
> > > > > > >> >
> > > > > > >> >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > >
> > >
> > >


Avatar
Sylo
Ben non, je n'ai pas accés au designer pour ma classe datagrid. J'ai
simplement une classe...
Si je veux rajouter des boutons, il doit falloir en effet que je surcharge
le designer que j'utilise actuellement... Le problème est que je ne le trouve
pas, même avec reflector.
Je suppose que je devrais le trouver dans
"System.Web.UI.Design.WebControls.DataGridComponentEditor" mais rien dans
reflector...

Comment faire techniquement. Peux tu m'expliciter les étapes pas à pas pour
surcharger le designer et rajouter mes boutons.

Merci bcp
Sylo


"Paul Bacelar" a écrit :

Mais si, tu as accès au designer, tu peux même faire le tien.

Les attributs que tu as copiés indiquent à VisualStudio ou à tout autres IDE
quelle classe sera le designer du DataGrid.

Si au lieu d'utiliser ces attributs, tu utilises tes propres classes
d'attributs, tu pourras utiliser un autre Designer que celui du DataGrid.

Rien ne t'empêche de dériver ton Designer de celui du DataGrid.

Le designer est une classe comme une autre.

http://msdn.microsoft.com/msdnmag/issues/03/05/Design-TimeControls/default.aspx

Reflector te donnera des exemples de d'implémentation qui marchent puisse
que c'est le code actuellement utilisé dans ton environnement de
développement.

No Limits ;-).
--
Paul Bacelar


"Sylo" wrote in message
news:
> Par contre nouvelle question...
> Je voulais rajouter 2 boutons sur mon contrôle datagrid dans un tableau en
> dessous du datagrid.
> Comment faire pour rajouter ces deux boutons alors que je n'ai pas accés à
> un designer ???
> Merci bcp
> Sylo
>
> "Sylo" a écrit :
>
> > OK j'ai trouvé...
> > Il faut en fait que je crée une bibliothèque de classe, que je crée la
> > classe MyDatagrid comme précité dedans puis je compile la bibli
> > Ensuite, je demande à rajouter des éléments dans la barre d'outils, je
vais
> > chercher ma dll et je me retrouve avec le contrôle que je peux
exploiter.
> > Ke du bonheur...
> > Merci vraimment bcp, je pensais pas que j'y arriverais aussi vite
> > Sylvain
> >
> > "Sylo" a écrit :
> >
> > > Ok...
> > > J'ai compris pour reflector. Cela ne fonctionne pas. Il doit y avoir
une
> > > autre astuce.
> > > Désolé d'abuser mais je t'explique ce que je fait
> > >
> > > 1 - je crée une classe
> > > 2 - je la fait hérité et je met " Inherits
System.Web.UI.WebControls.DataGrid"
> > > 3 - je rajoute avant la classe les imports
> > > "Imports System.Web.UI.WebControls
> > > Imports System.ComponentModel
> > > Imports System.Security.Permissions"
> > > 4 - j'ouvre reflector, je vais cherchez datagrid, double-click
> > > J'obtient ce que tu me dit. Je copye les attributs de la classe
de
> > > datagrid au début de ma classe.
> > > 5 - dans ma classe, je retrouve bien les méthodes et propriété de
datagrid
> > > derrière MyBase... Dans la liste des évènements, j'ai bien les
évènements
> > > d'un datagrid. Super.
> > >
> > > Et maintenant, qu'est ce que je fait... Comment utiliser se composant
dans
> > > une webform ??? Il n'apparait pas dans ma barre d'outils ???? Kelle
est la
> > > manip ???
> > >
> > > Merci pour ton aide et reflector... Génial...
> > > Sylo
> > >
> > > Donc je me dit qu'en fait non, je crée ma classe et je doit glisser
sur une
> > > webform cette classe
> > >
> > >
> > > "Paul Bacelar" a écrit :
> > >
> > > > Chez moi, cela marche très bien.
> > > >
> > > > J'ai utilisé Reflector sur ma machine pour avoir les attributs
correspondant
> > > > à ma version du FrameWork .NET (.NET1.1 avec VS.2003).
> > > >
> > > > Si vous utilisez un autre FrameWork, il faut adapter les valeurs des
> > > > attributs en fonction de votre FrameWork, et Reflector est là pour
vous y
> > > > aider.
> > > >
> > > > Reflector n'est pas un simple explorateur d'objet mais un
désassembleur
> > > > ..NET, en clair, vous sélectionnez une classe ou une méthode et il
est
> > > > capable de vous générer un code VB, C#, Delphi ou des instructions
> > > > Intermediate Language (IL) correspondant.
> > > >
> > > > Cas pratique, vous ne connaissez pas les attributs associés à la
classe
> > > > DataGrid qui lui permet d'avoir une interface d'utilisation sexy
sous VS.
> > > >
> > > >
> > > >
> > > > - Vous sélectionné la classe DataGrid dans l'assembly et le
namespace qui va
> > > > bien.
> > > >
> > > > - Click droit, puis selectionnez le menu Disassembler
> > > >
> > > > - Vous verrez apparaître, dans un nouveau volet à droit, le code
source de
> > > > la classe, dans un langage .NET sélectionné préalablement dans
> > > > Menu->View->Options... .
> > > >
> > > > - Vous n'aurez cas copier-coller les attributs de la classe Datagrid
fourni
> > > > par Reflector comme attributs de votre propre classe.
> > > >
> > > >
> > > >
> > > > Si vous utilisez .NET2.0, je ne sais pas si Reflector fonctionne
dessus mais
> > > > il reste l'utilitaire ILDASM fourni avec VisualStudio.
> > > >
> > > > Il est moins sexy, mais il a l'avantage de venir avec VisualStudio
et
> > > > compatible avec le FrameWork associé.
> > > > --
> > > > Paul Bacelar
> > > >
> > > >
> > > >
> > > > "Sylo" wrote in message
> > > > news:
> > > > > Paul,
> > > > >
> > > > > J'ai donc créer un user control et j'ai corrigé le hinerit pour
qu'il
> > > > herite
> > > > > de datagrid. Ensuite, j'ai copié les imports et le texte qui suit
juste
> > > > avant
> > > > > le "public class"...
> > > > > Ca roule je n'ai pas d'erreur.
> > > > > Par contre, quand je veux ouvrir le designer, j'ai un message
d'erreur :
> > > > > "Le fichier de classe associé à ce webform n'a pas pu être chargé.
Fermez
> > > > > cette vue, corrigez les erruers éventuelles, puis rouvrez le web
form."
> > > > >
> > > > > Je n'ai pas utilisé Reflector parce que je ne vois pas à quoi il
peut me
> > > > > servir. Cela semble être un explorateur d'objet mais je ne vois à
quoi il
> > > > > peut m'être utile sur mon problème.
> > > > >
> > > > > Peut tu me le préciser car je pense que c'est la que ce situe mon
> > > > problème.
> > > > >
> > > > > Merci bcp
> > > > > Sylo
> > > > >
> > > > > "Paul Bacelar" a écrit :
> > > > >
> > > > > > Quelle cochonnerie ce VB avec ses délimiteurs à la con.
> > > > > >
> > > > > > Vérifier la mise en page, les NG n'aiment pas VB comme moi ;-).
> > > > > >
> > > > > >
> > > > > >
> > > > > > J'ai testé le drag-and-drop sur une page Web et sa marche
nickel.
> > > > > >
> > > > > >
> > > > > > <CODE>
> > > > > > Imports System.Web.UI.WebControls
> > > > > > Imports System.ComponentModel
> > > > > > Imports System.Security.Permissions
> > > > > >
<Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
> > > > > > Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > > System.Design,
> > > > > > Version=1.0.5000.0, Culture=neutral,
PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > PermissionSet(SecurityAction.InheritanceDemand,
Xml:="<PermissionSet
> > > > > > class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) &
"
> > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > class=""System.Web.AspNetHostingPermission, System,
Version=1.0.5000.0,
> > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) &
> > > > ChrW(10) &
> > > > > > " version=""1""" & ChrW(13) & ChrW(10) & " Level=""Minimal""/>"
&
> > > > ChrW(13) &
> > > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10)),
> > > > > > PermissionSet(SecurityAction.LinkDemand, Xml:="<PermissionSet
> > > > > > class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) &
"
> > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > class=""System.Web.AspNetHostingPermission, System,
Version=1.0.5000.0,
> > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) &
> > > > ChrW(10) &
> > > > > > " version=""1""" & ChrW(13) & ChrW(10) & " Level=""Minimal""/>"
&
> > > > ChrW(13) &
> > > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10))> _
> > > > > > Public Class MyDataGrid
> > > > > > Inherits System.Web.UI.WebControls.DataGrid
> > > > > > End Class
> > > > > >
> > > > > > </CODE>
> > > > > >
> > > > > > Pensez à utiliser Reflector pour savoir de quel assembly
viennent les
> > > > > > classes.
> > > > > >
> > > > > > Maîtrisez Reflector, cela en vaux largement la chandelle
puisqu'il est
> > > > très
> > > > > > simple d'accès.
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Paul Bacelar
> > > > > >
> > > > > > "Sylo" <devbnet@[antispam]free.fr> wrote in message
> > > > > > news:
> > > > > > > J'ai essayer de recopier ton exemple mais il me fait une
erreur sur
> > > > > > > Editor,permissionset, designer (type indéfini)...
> > > > > > > J'avoue ne pas tout comprendre. Si tu peux plus détailler...
> > > > > > > Dans tous les cas, merci beaucoup
> > > > > > > Sylo
> > > > > > >
> > > > > > > "Paul Bacelar" a écrit
dans le
> > > > message
> > > > > > > de news:
> > > > > > > > Votre problème n'est pas lié à l'héritage.
> > > > > > > > Vous voulez aussi avoir le même éditeur sous VS, que le
DataGrid.
> > > > > > > > VS utilise les attributs d'une classe pour connaître son
éditeur, et
> > > > en
> > > > > > > > particulier EditorAttribute.
> > > > > > > > Les attributs ne sont pas, généralement, hérités.
> > > > > > > > Ils vous faut donc connaître la valeur de cet attribut et
l'utiliser
> > > > > > avec
> > > > > > > > votre classe dérivée, Reflector
> > > > (http://www.aisto.com/roeder/dotnet/)
> > > > > > est
> > > > > > > > un
> > > > > > > > outil très très pratique.
> > > > > > > >
> > > > > > > >
> > > > > > > >
<Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > > > PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
> > > > > > > > Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > > > > > > System.Design,
> > > > > > > > Version=1.0.5000.0, Culture=neutral,
> > > > PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > > > PermissionSet(SecurityAction.InheritanceDemand,
XML:="<PermissionSet
> > > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &
ChrW(10) & "
> > > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > > class=""System.Web.AspNetHostingPermission, System,
> > > > Version=1.0.5000.0,
> > > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &
ChrW(13) &
> > > > > > ChrW(10)
> > > > > > > > &
> > > > > > > > " version=""1""" & ChrW(13) & ChrW(10) & "
> > > > > > > > Level=""Minimal""/>" & ChrW(13) & ChrW(10) &
"</PermissionSet>" &
> > > > > > ChrW(13)
> > > > > > > > &
> > > > > > > > ChrW(10)), PermissionSet(SecurityAction.LinkDemand,
> > > > XML:="<PermissionSet
> > > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &
ChrW(10) & "
> > > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission


Avatar
Sylo
J'ai creusé toute la matiné mais g pas trouver comment faire... JE vais
essayer d'être plus claire.
En général, pour faire un datagrid, je met un datagrid sur un webcontrole
puis je rajoute un bouton créer au dessous de mon datagrid. Quand
l'utilisateur click sur ce bouton, je crée une ligne vide dans le dataset que
je met en édition.
Ce traitement est identique quelque soit les données de mon datagrid.

Aussi, dans ma nouvelle classe datagrid que j'ai créé, je n'ai pu que
récupérer les évènements de mon datagrid (sort, selection...) et créer de
nouveaux évènements. Je voudrais donc pouvoir rajouter ce bouton dans mon
controle sous le datagrid et coder tous les traitements lier à ce bouton
créer.

Comment faire cela don mon nouveau controle datagrid...
Merci bcp
Sylo

"Paul Bacelar" a écrit :

Mais si, tu as accès au designer, tu peux même faire le tien.

Les attributs que tu as copiés indiquent à VisualStudio ou à tout autres IDE
quelle classe sera le designer du DataGrid.

Si au lieu d'utiliser ces attributs, tu utilises tes propres classes
d'attributs, tu pourras utiliser un autre Designer que celui du DataGrid.

Rien ne t'empêche de dériver ton Designer de celui du DataGrid.

Le designer est une classe comme une autre.

http://msdn.microsoft.com/msdnmag/issues/03/05/Design-TimeControls/default.aspx

Reflector te donnera des exemples de d'implémentation qui marchent puisse
que c'est le code actuellement utilisé dans ton environnement de
développement.

No Limits ;-).
--
Paul Bacelar


"Sylo" wrote in message
news:
> Par contre nouvelle question...
> Je voulais rajouter 2 boutons sur mon contrôle datagrid dans un tableau en
> dessous du datagrid.
> Comment faire pour rajouter ces deux boutons alors que je n'ai pas accés à
> un designer ???
> Merci bcp
> Sylo
>
> "Sylo" a écrit :
>
> > OK j'ai trouvé...
> > Il faut en fait que je crée une bibliothèque de classe, que je crée la
> > classe MyDatagrid comme précité dedans puis je compile la bibli
> > Ensuite, je demande à rajouter des éléments dans la barre d'outils, je
vais
> > chercher ma dll et je me retrouve avec le contrôle que je peux
exploiter.
> > Ke du bonheur...
> > Merci vraimment bcp, je pensais pas que j'y arriverais aussi vite
> > Sylvain
> >
> > "Sylo" a écrit :
> >
> > > Ok...
> > > J'ai compris pour reflector. Cela ne fonctionne pas. Il doit y avoir
une
> > > autre astuce.
> > > Désolé d'abuser mais je t'explique ce que je fait
> > >
> > > 1 - je crée une classe
> > > 2 - je la fait hérité et je met " Inherits
System.Web.UI.WebControls.DataGrid"
> > > 3 - je rajoute avant la classe les imports
> > > "Imports System.Web.UI.WebControls
> > > Imports System.ComponentModel
> > > Imports System.Security.Permissions"
> > > 4 - j'ouvre reflector, je vais cherchez datagrid, double-click
> > > J'obtient ce que tu me dit. Je copye les attributs de la classe
de
> > > datagrid au début de ma classe.
> > > 5 - dans ma classe, je retrouve bien les méthodes et propriété de
datagrid
> > > derrière MyBase... Dans la liste des évènements, j'ai bien les
évènements
> > > d'un datagrid. Super.
> > >
> > > Et maintenant, qu'est ce que je fait... Comment utiliser se composant
dans
> > > une webform ??? Il n'apparait pas dans ma barre d'outils ???? Kelle
est la
> > > manip ???
> > >
> > > Merci pour ton aide et reflector... Génial...
> > > Sylo
> > >
> > > Donc je me dit qu'en fait non, je crée ma classe et je doit glisser
sur une
> > > webform cette classe
> > >
> > >
> > > "Paul Bacelar" a écrit :
> > >
> > > > Chez moi, cela marche très bien.
> > > >
> > > > J'ai utilisé Reflector sur ma machine pour avoir les attributs
correspondant
> > > > à ma version du FrameWork .NET (.NET1.1 avec VS.2003).
> > > >
> > > > Si vous utilisez un autre FrameWork, il faut adapter les valeurs des
> > > > attributs en fonction de votre FrameWork, et Reflector est là pour
vous y
> > > > aider.
> > > >
> > > > Reflector n'est pas un simple explorateur d'objet mais un
désassembleur
> > > > ..NET, en clair, vous sélectionnez une classe ou une méthode et il
est
> > > > capable de vous générer un code VB, C#, Delphi ou des instructions
> > > > Intermediate Language (IL) correspondant.
> > > >
> > > > Cas pratique, vous ne connaissez pas les attributs associés à la
classe
> > > > DataGrid qui lui permet d'avoir une interface d'utilisation sexy
sous VS.
> > > >
> > > >
> > > >
> > > > - Vous sélectionné la classe DataGrid dans l'assembly et le
namespace qui va
> > > > bien.
> > > >
> > > > - Click droit, puis selectionnez le menu Disassembler
> > > >
> > > > - Vous verrez apparaître, dans un nouveau volet à droit, le code
source de
> > > > la classe, dans un langage .NET sélectionné préalablement dans
> > > > Menu->View->Options... .
> > > >
> > > > - Vous n'aurez cas copier-coller les attributs de la classe Datagrid
fourni
> > > > par Reflector comme attributs de votre propre classe.
> > > >
> > > >
> > > >
> > > > Si vous utilisez .NET2.0, je ne sais pas si Reflector fonctionne
dessus mais
> > > > il reste l'utilitaire ILDASM fourni avec VisualStudio.
> > > >
> > > > Il est moins sexy, mais il a l'avantage de venir avec VisualStudio
et
> > > > compatible avec le FrameWork associé.
> > > > --
> > > > Paul Bacelar
> > > >
> > > >
> > > >
> > > > "Sylo" wrote in message
> > > > news:
> > > > > Paul,
> > > > >
> > > > > J'ai donc créer un user control et j'ai corrigé le hinerit pour
qu'il
> > > > herite
> > > > > de datagrid. Ensuite, j'ai copié les imports et le texte qui suit
juste
> > > > avant
> > > > > le "public class"...
> > > > > Ca roule je n'ai pas d'erreur.
> > > > > Par contre, quand je veux ouvrir le designer, j'ai un message
d'erreur :
> > > > > "Le fichier de classe associé à ce webform n'a pas pu être chargé.
Fermez
> > > > > cette vue, corrigez les erruers éventuelles, puis rouvrez le web
form."
> > > > >
> > > > > Je n'ai pas utilisé Reflector parce que je ne vois pas à quoi il
peut me
> > > > > servir. Cela semble être un explorateur d'objet mais je ne vois à
quoi il
> > > > > peut m'être utile sur mon problème.
> > > > >
> > > > > Peut tu me le préciser car je pense que c'est la que ce situe mon
> > > > problème.
> > > > >
> > > > > Merci bcp
> > > > > Sylo
> > > > >
> > > > > "Paul Bacelar" a écrit :
> > > > >
> > > > > > Quelle cochonnerie ce VB avec ses délimiteurs à la con.
> > > > > >
> > > > > > Vérifier la mise en page, les NG n'aiment pas VB comme moi ;-).
> > > > > >
> > > > > >
> > > > > >
> > > > > > J'ai testé le drag-and-drop sur une page Web et sa marche
nickel.
> > > > > >
> > > > > >
> > > > > > <CODE>
> > > > > > Imports System.Web.UI.WebControls
> > > > > > Imports System.ComponentModel
> > > > > > Imports System.Security.Permissions
> > > > > >
<Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
> > > > > > Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > > System.Design,
> > > > > > Version=1.0.5000.0, Culture=neutral,
PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > PermissionSet(SecurityAction.InheritanceDemand,
Xml:="<PermissionSet
> > > > > > class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) &
"
> > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > class=""System.Web.AspNetHostingPermission, System,
Version=1.0.5000.0,
> > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) &
> > > > ChrW(10) &
> > > > > > " version=""1""" & ChrW(13) & ChrW(10) & " Level=""Minimal""/>"
&
> > > > ChrW(13) &
> > > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10)),
> > > > > > PermissionSet(SecurityAction.LinkDemand, Xml:="<PermissionSet
> > > > > > class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) &
"
> > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > class=""System.Web.AspNetHostingPermission, System,
Version=1.0.5000.0,
> > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) &
> > > > ChrW(10) &
> > > > > > " version=""1""" & ChrW(13) & ChrW(10) & " Level=""Minimal""/>"
&
> > > > ChrW(13) &
> > > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10))> _
> > > > > > Public Class MyDataGrid
> > > > > > Inherits System.Web.UI.WebControls.DataGrid
> > > > > > End Class
> > > > > >
> > > > > > </CODE>
> > > > > >
> > > > > > Pensez à utiliser Reflector pour savoir de quel assembly
viennent les
> > > > > > classes.
> > > > > >
> > > > > > Maîtrisez Reflector, cela en vaux largement la chandelle
puisqu'il est
> > > > très
> > > > > > simple d'accès.
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Paul Bacelar
> > > > > >
> > > > > > "Sylo" <devbnet@[antispam]free.fr> wrote in message
> > > > > > news:
> > > > > > > J'ai essayer de recopier ton exemple mais il me fait une
erreur sur
> > > > > > > Editor,permissionset, designer (type indéfini)...
> > > > > > > J'avoue ne pas tout comprendre. Si tu peux plus détailler...
> > > > > > > Dans tous les cas, merci beaucoup
> > > > > > > Sylo
> > > > > > >
> > > > > > > "Paul Bacelar" a écrit
dans le
> > > > message
> > > > > > > de news:
> > > > > > > > Votre problème n'est pas lié à l'héritage.
> > > > > > > > Vous voulez aussi avoir le même éditeur sous VS, que le
DataGrid.
> > > > > > > > VS utilise les attributs d'une classe pour connaître son
éditeur, et
> > > > en
> > > > > > > > particulier EditorAttribute.
> > > > > > > > Les attributs ne sont pas, généralement, hérités.
> > > > > > > > Ils vous faut donc connaître la valeur de cet attribut et
l'utiliser
> > > > > > avec
> > > > > > > > votre classe dérivée, Reflector
> > > > (http://www.aisto.com/roeder/dotnet/)
> > > > > > est
> > > > > > > > un
> > > > > > > > outil très très pratique.
> > > > > > > >
> > > > > > > >
> > > > > > > >
<Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > > > PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
> > > > > > > > Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > > > > > > System.Design,
> > > > > > > > Version=1.0.5000.0, Culture=neutral,
> > > > PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > > > PermissionSet(SecurityAction.InheritanceDemand,
XML:="<PermissionSet
> > > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &
ChrW(10) & "
> > > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > > class=""System.Web.AspNetHostingPermission, System,
> > > > Version=1.0.5000.0,
> > > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &
ChrW(13) &
> > > > > > ChrW(10)
> > > > > > > > &
> > > > > > > > " version=""1""" & ChrW(13) & ChrW(10) & "
> > > > > > > > Level=""Minimal""/>" & ChrW(13) & ChrW(10) &
"</PermissionSet>" &
> > > > > > ChrW(13)
> > > > > > > > &
> > > > > > > > ChrW(10)), PermissionSet(SecurityAction.LinkDemand,
> > > > XML:="<PermissionSet
> > > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &
ChrW(10) & "
> > > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission


Avatar
Paul Bacelar
Reprenons calmement.
Reflector te donne le nom et les paramètres de création de 2 attributs.
Pour mon FrameWork
<REFLECTOR>
<Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
System.Design, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
Designer("System.Web.UI.Design.WebControls.DataGridDesigner, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a"),
PermissionSet(SecurityAction.InheritanceDemand, XML:="<PermissionSet
class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) & "
version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
class=""System.Web.AspNetHostingPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) & ChrW(10) &
" version=""1""" & ChrW(13) & ChrW(10) & "
Level=""Minimal""/>" & ChrW(13) & ChrW(10) & "</PermissionSet>" & ChrW(13) &
ChrW(10)), PermissionSet(SecurityAction.LinkDemand, XML:="<PermissionSet
class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) & "
version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
class=""System.Web.AspNetHostingPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) & ChrW(10) &
" version=""1""" & ChrW(13) & ChrW(10) & "
Level=""Minimal""/>" & ChrW(13) & ChrW(10) & "</PermissionSet>" & ChrW(13) &
ChrW(10))> _
</REFLECTOR>

J'ai donc un attribut Editor, qui correspond à un objet de la classe
EditorAttribute, et un attribut Designer, qui correspond à un objet de la
classe DesignerAttribute.
En cliquant sur les liens fournit par Reflector (tout ce qui est en vert à
droit est un lien), tu arriveras sur les classes des attributs.
Ces attributs sont génériques et ne servent qu'à contenir le nom d'une autre
classe.
Pour EditorAttribute, le premier paramètre (pour mon FrameWork,
"System.Web.UI.Design.WebControls.DataGridComponentEditor, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a") est
le nom complet de la classe (namespace+nom de la classe+nom de la dll
assembly+la version de l'assembly+la culture de l'assembly+la clé public de
l'assembly) chargé de montrer les propriétés de objet.
Pour DesignerAttribute, le seul paramètre (pour mon FrameWork,
"System.Web.UI.Design.WebControls.DataGridDesigner, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a") est
le nom complet de la classe chargé d'intégré le designer de l'objet dans
l'IDE.
Il ne te reste donc cas créer une classe dérivé de l'une de
Reflector de permet de connaître le code des classes de base, ce qui n'est
pas négligeable ;-)
Un article sur la conception des Designer en .NET
http://msdn.microsoft.com/msdnmag/issues/04/12/CustomFormsDesigner/default.aspx
--
Paul Bacelar

"Sylo" wrote in message
news:
J'ai creusé toute la matiné mais g pas trouver comment faire... JE vais
essayer d'être plus claire.
En général, pour faire un datagrid, je met un datagrid sur un webcontrole
puis je rajoute un bouton créer au dessous de mon datagrid. Quand
l'utilisateur click sur ce bouton, je crée une ligne vide dans le dataset


que
je met en édition.
Ce traitement est identique quelque soit les données de mon datagrid.

Aussi, dans ma nouvelle classe datagrid que j'ai créé, je n'ai pu que
récupérer les évènements de mon datagrid (sort, selection...) et créer de
nouveaux évènements. Je voudrais donc pouvoir rajouter ce bouton dans mon
controle sous le datagrid et coder tous les traitements lier à ce bouton
créer.

Comment faire cela don mon nouveau controle datagrid...
Merci bcp
Sylo

"Paul Bacelar" a écrit :

> Mais si, tu as accès au designer, tu peux même faire le tien.
>
> Les attributs que tu as copiés indiquent à VisualStudio ou à tout autres


IDE
> quelle classe sera le designer du DataGrid.
>
> Si au lieu d'utiliser ces attributs, tu utilises tes propres classes
> d'attributs, tu pourras utiliser un autre Designer que celui du


DataGrid.
>
> Rien ne t'empêche de dériver ton Designer de celui du DataGrid.
>
> Le designer est une classe comme une autre.
>
>


http://msdn.microsoft.com/msdnmag/issues/03/05/Design-TimeControls/default.aspx
>
> Reflector te donnera des exemples de d'implémentation qui marchent


puisse
> que c'est le code actuellement utilisé dans ton environnement de
> développement.
>
> No Limits ;-).
> --
> Paul Bacelar
>
>
> "Sylo" wrote in message
> news:
> > Par contre nouvelle question...
> > Je voulais rajouter 2 boutons sur mon contrôle datagrid dans un


tableau en
> > dessous du datagrid.
> > Comment faire pour rajouter ces deux boutons alors que je n'ai pas


accés à
> > un designer ???
> > Merci bcp
> > Sylo
> >
> > "Sylo" a écrit :
> >
> > > OK j'ai trouvé...
> > > Il faut en fait que je crée une bibliothèque de classe, que je crée


la
> > > classe MyDatagrid comme précité dedans puis je compile la bibli
> > > Ensuite, je demande à rajouter des éléments dans la barre d'outils,


je
> vais
> > > chercher ma dll et je me retrouve avec le contrôle que je peux
> exploiter.
> > > Ke du bonheur...
> > > Merci vraimment bcp, je pensais pas que j'y arriverais aussi vite
> > > Sylvain
> > >
> > > "Sylo" a écrit :
> > >
> > > > Ok...
> > > > J'ai compris pour reflector. Cela ne fonctionne pas. Il doit y


avoir
> une
> > > > autre astuce.
> > > > Désolé d'abuser mais je t'explique ce que je fait
> > > >
> > > > 1 - je crée une classe
> > > > 2 - je la fait hérité et je met " Inherits
> System.Web.UI.WebControls.DataGrid"
> > > > 3 - je rajoute avant la classe les imports
> > > > "Imports System.Web.UI.WebControls
> > > > Imports System.ComponentModel
> > > > Imports System.Security.Permissions"
> > > > 4 - j'ouvre reflector, je vais cherchez datagrid, double-click
> > > > J'obtient ce que tu me dit. Je copye les attributs de la


classe
> de
> > > > datagrid au début de ma classe.
> > > > 5 - dans ma classe, je retrouve bien les méthodes et propriété de
> datagrid
> > > > derrière MyBase... Dans la liste des évènements, j'ai bien les
> évènements
> > > > d'un datagrid. Super.
> > > >
> > > > Et maintenant, qu'est ce que je fait... Comment utiliser se


composant
> dans
> > > > une webform ??? Il n'apparait pas dans ma barre d'outils ????


Kelle
> est la
> > > > manip ???
> > > >
> > > > Merci pour ton aide et reflector... Génial...
> > > > Sylo
> > > >
> > > > Donc je me dit qu'en fait non, je crée ma classe et je doit


glisser
> sur une
> > > > webform cette classe
> > > >
> > > >
> > > > "Paul Bacelar" a écrit :
> > > >
> > > > > Chez moi, cela marche très bien.
> > > > >
> > > > > J'ai utilisé Reflector sur ma machine pour avoir les attributs
> correspondant
> > > > > à ma version du FrameWork .NET (.NET1.1 avec VS.2003).
> > > > >
> > > > > Si vous utilisez un autre FrameWork, il faut adapter les valeurs


des
> > > > > attributs en fonction de votre FrameWork, et Reflector est là


pour
> vous y
> > > > > aider.
> > > > >
> > > > > Reflector n'est pas un simple explorateur d'objet mais un
> désassembleur
> > > > > ..NET, en clair, vous sélectionnez une classe ou une méthode et


il
> est
> > > > > capable de vous générer un code VB, C#, Delphi ou des


instructions
> > > > > Intermediate Language (IL) correspondant.
> > > > >
> > > > > Cas pratique, vous ne connaissez pas les attributs associés à la
> classe
> > > > > DataGrid qui lui permet d'avoir une interface d'utilisation sexy
> sous VS.
> > > > >
> > > > >
> > > > >
> > > > > - Vous sélectionné la classe DataGrid dans l'assembly et le
> namespace qui va
> > > > > bien.
> > > > >
> > > > > - Click droit, puis selectionnez le menu Disassembler
> > > > >
> > > > > - Vous verrez apparaître, dans un nouveau volet à droit, le code
> source de
> > > > > la classe, dans un langage .NET sélectionné préalablement dans
> > > > > Menu->View->Options... .
> > > > >
> > > > > - Vous n'aurez cas copier-coller les attributs de la classe


Datagrid
> fourni
> > > > > par Reflector comme attributs de votre propre classe.
> > > > >
> > > > >
> > > > >
> > > > > Si vous utilisez .NET2.0, je ne sais pas si Reflector fonctionne
> dessus mais
> > > > > il reste l'utilitaire ILDASM fourni avec VisualStudio.
> > > > >
> > > > > Il est moins sexy, mais il a l'avantage de venir avec


VisualStudio
> et
> > > > > compatible avec le FrameWork associé.
> > > > > --
> > > > > Paul Bacelar
> > > > >
> > > > >
> > > > >
> > > > > "Sylo" wrote in message
> > > > > news:
> > > > > > Paul,
> > > > > >
> > > > > > J'ai donc créer un user control et j'ai corrigé le hinerit


pour
> qu'il
> > > > > herite
> > > > > > de datagrid. Ensuite, j'ai copié les imports et le texte qui


suit
> juste
> > > > > avant
> > > > > > le "public class"...
> > > > > > Ca roule je n'ai pas d'erreur.
> > > > > > Par contre, quand je veux ouvrir le designer, j'ai un message
> d'erreur :
> > > > > > "Le fichier de classe associé à ce webform n'a pas pu être


chargé.
> Fermez
> > > > > > cette vue, corrigez les erruers éventuelles, puis rouvrez le


web
> form."
> > > > > >
> > > > > > Je n'ai pas utilisé Reflector parce que je ne vois pas à quoi


il
> peut me
> > > > > > servir. Cela semble être un explorateur d'objet mais je ne


vois à
> quoi il
> > > > > > peut m'être utile sur mon problème.
> > > > > >
> > > > > > Peut tu me le préciser car je pense que c'est la que ce situe


mon
> > > > > problème.
> > > > > >
> > > > > > Merci bcp
> > > > > > Sylo
> > > > > >
> > > > > > "Paul Bacelar" a écrit :
> > > > > >
> > > > > > > Quelle cochonnerie ce VB avec ses délimiteurs à la con.
> > > > > > >
> > > > > > > Vérifier la mise en page, les NG n'aiment pas VB comme moi


;-).
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > J'ai testé le drag-and-drop sur une page Web et sa marche
> nickel.
> > > > > > >
> > > > > > >
> > > > > > > <CODE>
> > > > > > > Imports System.Web.UI.WebControls
> > > > > > > Imports System.ComponentModel
> > > > > > > Imports System.Security.Permissions
> > > > > > >
> <Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > > PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
> > > > > > > Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > > > System.Design,
> > > > > > > Version=1.0.5000.0, Culture=neutral,
> PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > > PermissionSet(SecurityAction.InheritanceDemand,
> Xml:="<PermissionSet
> > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &


ChrW(10) &
> "
> > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > class=""System.Web.AspNetHostingPermission, System,
> Version=1.0.5000.0,
> > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &


ChrW(13) &
> > > > > ChrW(10) &
> > > > > > > " version=""1""" & ChrW(13) & ChrW(10) & "


Level=""Minimal""/>"
> &
> > > > > ChrW(13) &
> > > > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10)),
> > > > > > > PermissionSet(SecurityAction.LinkDemand,


Xml:="<PermissionSet
> > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &


ChrW(10) &
> "
> > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > class=""System.Web.AspNetHostingPermission, System,
> Version=1.0.5000.0,
> > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &


ChrW(13) &
> > > > > ChrW(10) &
> > > > > > > " version=""1""" & ChrW(13) & ChrW(10) & "


Level=""Minimal""/>"
> &
> > > > > ChrW(13) &
> > > > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10))> _
> > > > > > > Public Class MyDataGrid
> > > > > > > Inherits System.Web.UI.WebControls.DataGrid
> > > > > > > End Class
> > > > > > >
> > > > > > > </CODE>
> > > > > > >
> > > > > > > Pensez à utiliser Reflector pour savoir de quel assembly
> viennent les
> > > > > > > classes.
> > > > > > >
> > > > > > > Maîtrisez Reflector, cela en vaux largement la chandelle
> puisqu'il est
> > > > > très
> > > > > > > simple d'accès.
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Paul Bacelar
> > > > > > >
> > > > > > > "Sylo" <devbnet@[antispam]free.fr> wrote in message
> > > > > > > news:
> > > > > > > > J'ai essayer de recopier ton exemple mais il me fait une
> erreur sur
> > > > > > > > Editor,permissionset, designer (type indéfini)...
> > > > > > > > J'avoue ne pas tout comprendre. Si tu peux plus


détailler...
> > > > > > > > Dans tous les cas, merci beaucoup
> > > > > > > > Sylo
> > > > > > > >
> > > > > > > > "Paul Bacelar" a écrit
> dans le
> > > > > message
> > > > > > > > de news:
> > > > > > > > > Votre problème n'est pas lié à l'héritage.
> > > > > > > > > Vous voulez aussi avoir le même éditeur sous VS, que le
> DataGrid.
> > > > > > > > > VS utilise les attributs d'une classe pour connaître son
> éditeur, et
> > > > > en
> > > > > > > > > particulier EditorAttribute.
> > > > > > > > > Les attributs ne sont pas, généralement, hérités.
> > > > > > > > > Ils vous faut donc connaître la valeur de cet attribut


et
> l'utiliser
> > > > > > > avec
> > > > > > > > > votre classe dérivée, Reflector
> > > > > (http://www.aisto.com/roeder/dotnet/)
> > > > > > > est
> > > > > > > > > un
> > > > > > > > > outil très très pratique.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> <Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > > > > PublicKeyToken°3f5f7f11d50a3a",


GetType(ComponentEditor)),
> > > > > > > > >


Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > > > > > > > System.Design,
> > > > > > > > > Version=1.0.5000.0, Culture=neutral,
> > > > > PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > > > > PermissionSet(SecurityAction.InheritanceDemand,
> XML:="<PermissionSet
> > > > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &
> ChrW(10) & "
> > > > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > > > class=""System.Web.AspNetHostingPermission, System,
> > > > > Version=1.0.5000.0,
> > > > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &
> ChrW(13) &
> > > > > > > ChrW(10)
> > > > > > > > > &
> > > > > > > > > " version=""1""" & ChrW(13) & ChrW(10) &


"
> > > > > > > > > Level=""Minimal""/>" & ChrW(13) & ChrW(10) &
> "</PermissionSet>" &
> > > > > > > ChrW(13)
> > > > > > > > > &
> > > > > > > > > ChrW(10)), PermissionSet(SecurityAction.LinkDemand,
> > > > > XML:="<PermissionSet
> > > > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &
> ChrW(10) & "
> > > > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission


Avatar
Paul Bacelar
Reprenons calmement.
Reflector te donne le nom et les paramètres de création de 2 attributs.
Pour mon FrameWork
<REFLECTOR>
<Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
System.Design, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
Designer("System.Web.UI.Design.WebControls.DataGridDesigner, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a"),
PermissionSet(SecurityAction.InheritanceDemand, XML:="<PermissionSet
class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) & "
version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
class=""System.Web.AspNetHostingPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) & ChrW(10) &
" version=""1""" & ChrW(13) & ChrW(10) & "
Level=""Minimal""/>" & ChrW(13) & ChrW(10) & "</PermissionSet>" & ChrW(13) &
ChrW(10)), PermissionSet(SecurityAction.LinkDemand, XML:="<PermissionSet
class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) & "
version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
class=""System.Web.AspNetHostingPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) & ChrW(10) &
" version=""1""" & ChrW(13) & ChrW(10) & "
Level=""Minimal""/>" & ChrW(13) & ChrW(10) & "</PermissionSet>" & ChrW(13) &
ChrW(10))> _
</REFLECTOR>

J'ai donc un attribut Editor, qui correspond à un objet de la classe
EditorAttribute, et un attribut Designer, qui correspond à un objet de la
classe DesignerAttribute.
En cliquant sur les liens fournit par Reflector (tout ce qui est en vert à
droit est un lien), tu arriveras sur les classes des attributs.
Ces attributs sont génériques et ne servent qu'à contenir le nom d'une autre
classe.
Pour EditorAttribute, le premier paramètre (pour mon FrameWork,
"System.Web.UI.Design.WebControls.DataGridComponentEditor, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a") est
le nom complet de la classe (namespace+nom de la classe+nom de la dll
assembly+la version de l'assembly+la culture de l'assembly+la clé public de
l'assembly) chargé de montrer les propriétés de objet.
Pour DesignerAttribute, le seul paramètre (pour mon FrameWork,
"System.Web.UI.Design.WebControls.DataGridDesigner, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a") est
le nom complet de la classe chargé d'intégré le designer de l'objet dans
l'IDE.
Il ne te reste donc cas créer une classe dérivé de l'une de
Reflector de permet de connaître le code des classes de base, ce qui n'est
pas négligeable ;-)
Un article sur la conception des Designer en .NET
http://msdn.microsoft.com/msdnmag/issues/04/12/CustomFormsDesigner/default.aspx
--
Paul Bacelar

"Sylo" wrote in message
news:
J'ai creusé toute la matiné mais g pas trouver comment faire... JE vais
essayer d'être plus claire.
En général, pour faire un datagrid, je met un datagrid sur un webcontrole
puis je rajoute un bouton créer au dessous de mon datagrid. Quand
l'utilisateur click sur ce bouton, je crée une ligne vide dans le dataset


que
je met en édition.
Ce traitement est identique quelque soit les données de mon datagrid.

Aussi, dans ma nouvelle classe datagrid que j'ai créé, je n'ai pu que
récupérer les évènements de mon datagrid (sort, selection...) et créer de
nouveaux évènements. Je voudrais donc pouvoir rajouter ce bouton dans mon
controle sous le datagrid et coder tous les traitements lier à ce bouton
créer.

Comment faire cela don mon nouveau controle datagrid...
Merci bcp
Sylo

"Paul Bacelar" a écrit :

> Mais si, tu as accès au designer, tu peux même faire le tien.
>
> Les attributs que tu as copiés indiquent à VisualStudio ou à tout autres


IDE
> quelle classe sera le designer du DataGrid.
>
> Si au lieu d'utiliser ces attributs, tu utilises tes propres classes
> d'attributs, tu pourras utiliser un autre Designer que celui du


DataGrid.
>
> Rien ne t'empêche de dériver ton Designer de celui du DataGrid.
>
> Le designer est une classe comme une autre.
>
>


http://msdn.microsoft.com/msdnmag/issues/03/05/Design-TimeControls/default.aspx
>
> Reflector te donnera des exemples de d'implémentation qui marchent


puisse
> que c'est le code actuellement utilisé dans ton environnement de
> développement.
>
> No Limits ;-).
> --
> Paul Bacelar
>
>
> "Sylo" wrote in message
> news:
> > Par contre nouvelle question...
> > Je voulais rajouter 2 boutons sur mon contrôle datagrid dans un


tableau en
> > dessous du datagrid.
> > Comment faire pour rajouter ces deux boutons alors que je n'ai pas


accés à
> > un designer ???
> > Merci bcp
> > Sylo
> >
> > "Sylo" a écrit :
> >
> > > OK j'ai trouvé...
> > > Il faut en fait que je crée une bibliothèque de classe, que je crée


la
> > > classe MyDatagrid comme précité dedans puis je compile la bibli
> > > Ensuite, je demande à rajouter des éléments dans la barre d'outils,


je
> vais
> > > chercher ma dll et je me retrouve avec le contrôle que je peux
> exploiter.
> > > Ke du bonheur...
> > > Merci vraimment bcp, je pensais pas que j'y arriverais aussi vite
> > > Sylvain
> > >
> > > "Sylo" a écrit :
> > >
> > > > Ok...
> > > > J'ai compris pour reflector. Cela ne fonctionne pas. Il doit y


avoir
> une
> > > > autre astuce.
> > > > Désolé d'abuser mais je t'explique ce que je fait
> > > >
> > > > 1 - je crée une classe
> > > > 2 - je la fait hérité et je met " Inherits
> System.Web.UI.WebControls.DataGrid"
> > > > 3 - je rajoute avant la classe les imports
> > > > "Imports System.Web.UI.WebControls
> > > > Imports System.ComponentModel
> > > > Imports System.Security.Permissions"
> > > > 4 - j'ouvre reflector, je vais cherchez datagrid, double-click
> > > > J'obtient ce que tu me dit. Je copye les attributs de la


classe
> de
> > > > datagrid au début de ma classe.
> > > > 5 - dans ma classe, je retrouve bien les méthodes et propriété de
> datagrid
> > > > derrière MyBase... Dans la liste des évènements, j'ai bien les
> évènements
> > > > d'un datagrid. Super.
> > > >
> > > > Et maintenant, qu'est ce que je fait... Comment utiliser se


composant
> dans
> > > > une webform ??? Il n'apparait pas dans ma barre d'outils ????


Kelle
> est la
> > > > manip ???
> > > >
> > > > Merci pour ton aide et reflector... Génial...
> > > > Sylo
> > > >
> > > > Donc je me dit qu'en fait non, je crée ma classe et je doit


glisser
> sur une
> > > > webform cette classe
> > > >
> > > >
> > > > "Paul Bacelar" a écrit :
> > > >
> > > > > Chez moi, cela marche très bien.
> > > > >
> > > > > J'ai utilisé Reflector sur ma machine pour avoir les attributs
> correspondant
> > > > > à ma version du FrameWork .NET (.NET1.1 avec VS.2003).
> > > > >
> > > > > Si vous utilisez un autre FrameWork, il faut adapter les valeurs


des
> > > > > attributs en fonction de votre FrameWork, et Reflector est là


pour
> vous y
> > > > > aider.
> > > > >
> > > > > Reflector n'est pas un simple explorateur d'objet mais un
> désassembleur
> > > > > ..NET, en clair, vous sélectionnez une classe ou une méthode et


il
> est
> > > > > capable de vous générer un code VB, C#, Delphi ou des


instructions
> > > > > Intermediate Language (IL) correspondant.
> > > > >
> > > > > Cas pratique, vous ne connaissez pas les attributs associés à la
> classe
> > > > > DataGrid qui lui permet d'avoir une interface d'utilisation sexy
> sous VS.
> > > > >
> > > > >
> > > > >
> > > > > - Vous sélectionné la classe DataGrid dans l'assembly et le
> namespace qui va
> > > > > bien.
> > > > >
> > > > > - Click droit, puis selectionnez le menu Disassembler
> > > > >
> > > > > - Vous verrez apparaître, dans un nouveau volet à droit, le code
> source de
> > > > > la classe, dans un langage .NET sélectionné préalablement dans
> > > > > Menu->View->Options... .
> > > > >
> > > > > - Vous n'aurez cas copier-coller les attributs de la classe


Datagrid
> fourni
> > > > > par Reflector comme attributs de votre propre classe.
> > > > >
> > > > >
> > > > >
> > > > > Si vous utilisez .NET2.0, je ne sais pas si Reflector fonctionne
> dessus mais
> > > > > il reste l'utilitaire ILDASM fourni avec VisualStudio.
> > > > >
> > > > > Il est moins sexy, mais il a l'avantage de venir avec


VisualStudio
> et
> > > > > compatible avec le FrameWork associé.
> > > > > --
> > > > > Paul Bacelar
> > > > >
> > > > >
> > > > >
> > > > > "Sylo" wrote in message
> > > > > news:
> > > > > > Paul,
> > > > > >
> > > > > > J'ai donc créer un user control et j'ai corrigé le hinerit


pour
> qu'il
> > > > > herite
> > > > > > de datagrid. Ensuite, j'ai copié les imports et le texte qui


suit
> juste
> > > > > avant
> > > > > > le "public class"...
> > > > > > Ca roule je n'ai pas d'erreur.
> > > > > > Par contre, quand je veux ouvrir le designer, j'ai un message
> d'erreur :
> > > > > > "Le fichier de classe associé à ce webform n'a pas pu être


chargé.
> Fermez
> > > > > > cette vue, corrigez les erruers éventuelles, puis rouvrez le


web
> form."
> > > > > >
> > > > > > Je n'ai pas utilisé Reflector parce que je ne vois pas à quoi


il
> peut me
> > > > > > servir. Cela semble être un explorateur d'objet mais je ne


vois à
> quoi il
> > > > > > peut m'être utile sur mon problème.
> > > > > >
> > > > > > Peut tu me le préciser car je pense que c'est la que ce situe


mon
> > > > > problème.
> > > > > >
> > > > > > Merci bcp
> > > > > > Sylo
> > > > > >
> > > > > > "Paul Bacelar" a écrit :
> > > > > >
> > > > > > > Quelle cochonnerie ce VB avec ses délimiteurs à la con.
> > > > > > >
> > > > > > > Vérifier la mise en page, les NG n'aiment pas VB comme moi


;-).
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > J'ai testé le drag-and-drop sur une page Web et sa marche
> nickel.
> > > > > > >
> > > > > > >
> > > > > > > <CODE>
> > > > > > > Imports System.Web.UI.WebControls
> > > > > > > Imports System.ComponentModel
> > > > > > > Imports System.Security.Permissions
> > > > > > >
> <Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > > PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
> > > > > > > Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > > > System.Design,
> > > > > > > Version=1.0.5000.0, Culture=neutral,
> PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > > PermissionSet(SecurityAction.InheritanceDemand,
> Xml:="<PermissionSet
> > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &


ChrW(10) &
> "
> > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > class=""System.Web.AspNetHostingPermission, System,
> Version=1.0.5000.0,
> > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &


ChrW(13) &
> > > > > ChrW(10) &
> > > > > > > " version=""1""" & ChrW(13) & ChrW(10) & "


Level=""Minimal""/>"
> &
> > > > > ChrW(13) &
> > > > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10)),
> > > > > > > PermissionSet(SecurityAction.LinkDemand,


Xml:="<PermissionSet
> > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &


ChrW(10) &
> "
> > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > class=""System.Web.AspNetHostingPermission, System,
> Version=1.0.5000.0,
> > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &


ChrW(13) &
> > > > > ChrW(10) &
> > > > > > > " version=""1""" & ChrW(13) & ChrW(10) & "


Level=""Minimal""/>"
> &
> > > > > ChrW(13) &
> > > > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10))> _
> > > > > > > Public Class MyDataGrid
> > > > > > > Inherits System.Web.UI.WebControls.DataGrid
> > > > > > > End Class
> > > > > > >
> > > > > > > </CODE>
> > > > > > >
> > > > > > > Pensez à utiliser Reflector pour savoir de quel assembly
> viennent les
> > > > > > > classes.
> > > > > > >
> > > > > > > Maîtrisez Reflector, cela en vaux largement la chandelle
> puisqu'il est
> > > > > très
> > > > > > > simple d'accès.
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Paul Bacelar
> > > > > > >
> > > > > > > "Sylo" <devbnet@[antispam]free.fr> wrote in message
> > > > > > > news:
> > > > > > > > J'ai essayer de recopier ton exemple mais il me fait une
> erreur sur
> > > > > > > > Editor,permissionset, designer (type indéfini)...
> > > > > > > > J'avoue ne pas tout comprendre. Si tu peux plus


détailler...
> > > > > > > > Dans tous les cas, merci beaucoup
> > > > > > > > Sylo
> > > > > > > >
> > > > > > > > "Paul Bacelar" a écrit
> dans le
> > > > > message
> > > > > > > > de news:
> > > > > > > > > Votre problème n'est pas lié à l'héritage.
> > > > > > > > > Vous voulez aussi avoir le même éditeur sous VS, que le
> DataGrid.
> > > > > > > > > VS utilise les attributs d'une classe pour connaître son
> éditeur, et
> > > > > en
> > > > > > > > > particulier EditorAttribute.
> > > > > > > > > Les attributs ne sont pas, généralement, hérités.
> > > > > > > > > Ils vous faut donc connaître la valeur de cet attribut


et
> l'utiliser
> > > > > > > avec
> > > > > > > > > votre classe dérivée, Reflector
> > > > > (http://www.aisto.com/roeder/dotnet/)
> > > > > > > est
> > > > > > > > > un
> > > > > > > > > outil très très pratique.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> <Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > > > > PublicKeyToken°3f5f7f11d50a3a",


GetType(ComponentEditor)),
> > > > > > > > >


Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > > > > > > > System.Design,
> > > > > > > > > Version=1.0.5000.0, Culture=neutral,
> > > > > PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > > > > PermissionSet(SecurityAction.InheritanceDemand,
> XML:="<PermissionSet
> > > > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &
> ChrW(10) & "
> > > > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > > > class=""System.Web.AspNetHostingPermission, System,
> > > > > Version=1.0.5000.0,
> > > > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &
> ChrW(13) &
> > > > > > > ChrW(10)
> > > > > > > > > &
> > > > > > > > > " version=""1""" & ChrW(13) & ChrW(10) &


"
> > > > > > > > > Level=""Minimal""/>" & ChrW(13) & ChrW(10) &
> "</PermissionSet>" &
> > > > > > > ChrW(13)
> > > > > > > > > &
> > > > > > > > > ChrW(10)), PermissionSet(SecurityAction.LinkDemand,
> > > > > XML:="<PermissionSet
> > > > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &
> ChrW(10) & "
> > > > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission


Avatar
Paul Bacelar
Reprenons calmement.
Reflector te donne le nom et les paramètres de création de 2 attributs.
Pour mon FrameWork
<REFLECTOR>
<Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
System.Design, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
Designer("System.Web.UI.Design.WebControls.DataGridDesigner, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a"),
PermissionSet(SecurityAction.InheritanceDemand, XML:="<PermissionSet
class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) & "
version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
class=""System.Web.AspNetHostingPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) & ChrW(10) &
" version=""1""" & ChrW(13) & ChrW(10) & "
Level=""Minimal""/>" & ChrW(13) & ChrW(10) & "</PermissionSet>" & ChrW(13) &
ChrW(10)), PermissionSet(SecurityAction.LinkDemand, XML:="<PermissionSet
class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) & "
version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
class=""System.Web.AspNetHostingPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) & ChrW(10) &
" version=""1""" & ChrW(13) & ChrW(10) & "
Level=""Minimal""/>" & ChrW(13) & ChrW(10) & "</PermissionSet>" & ChrW(13) &
ChrW(10))> _
</REFLECTOR>

J'ai donc un attribut Editor, qui correspond à un objet de la classe
EditorAttribute, et un attribut Designer, qui correspond à un objet de la
classe DesignerAttribute.
En cliquant sur les liens fournit par Reflector (tout ce qui est en vert à
droit est un lien), tu arriveras sur les classes des attributs.
Ces attributs sont génériques et ne servent qu'à contenir le nom d'une autre
classe.
Pour EditorAttribute, le premier paramètre (pour mon FrameWork,
"System.Web.UI.Design.WebControls.DataGridComponentEditor, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a") est
le nom complet de la classe (namespace+nom de la classe+nom de la dll
assembly+la version de l'assembly+la culture de l'assembly+la clé public de
l'assembly) chargé de montrer les propriétés de objet.
Pour DesignerAttribute, le seul paramètre (pour mon FrameWork,
"System.Web.UI.Design.WebControls.DataGridDesigner, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a") est
le nom complet de la classe chargé d'intégré le designer de l'objet dans
l'IDE.
Il ne te reste donc cas créer une classe dérivé de l'une de
Reflector de permet de connaître le code des classes de base, ce qui n'est
pas négligeable ;-)
Un article sur la conception des Designer en .NET
http://msdn.microsoft.com/msdnmag/issues/04/12/CustomFormsDesigner/default.aspx
--
Paul Bacelar

"Sylo" wrote in message
news:
J'ai creusé toute la matiné mais g pas trouver comment faire... JE vais
essayer d'être plus claire.
En général, pour faire un datagrid, je met un datagrid sur un webcontrole
puis je rajoute un bouton créer au dessous de mon datagrid. Quand
l'utilisateur click sur ce bouton, je crée une ligne vide dans le dataset


que
je met en édition.
Ce traitement est identique quelque soit les données de mon datagrid.

Aussi, dans ma nouvelle classe datagrid que j'ai créé, je n'ai pu que
récupérer les évènements de mon datagrid (sort, selection...) et créer de
nouveaux évènements. Je voudrais donc pouvoir rajouter ce bouton dans mon
controle sous le datagrid et coder tous les traitements lier à ce bouton
créer.

Comment faire cela don mon nouveau controle datagrid...
Merci bcp
Sylo

"Paul Bacelar" a écrit :

> Mais si, tu as accès au designer, tu peux même faire le tien.
>
> Les attributs que tu as copiés indiquent à VisualStudio ou à tout autres


IDE
> quelle classe sera le designer du DataGrid.
>
> Si au lieu d'utiliser ces attributs, tu utilises tes propres classes
> d'attributs, tu pourras utiliser un autre Designer que celui du


DataGrid.
>
> Rien ne t'empêche de dériver ton Designer de celui du DataGrid.
>
> Le designer est une classe comme une autre.
>
>


http://msdn.microsoft.com/msdnmag/issues/03/05/Design-TimeControls/default.aspx
>
> Reflector te donnera des exemples de d'implémentation qui marchent


puisse
> que c'est le code actuellement utilisé dans ton environnement de
> développement.
>
> No Limits ;-).
> --
> Paul Bacelar
>
>
> "Sylo" wrote in message
> news:
> > Par contre nouvelle question...
> > Je voulais rajouter 2 boutons sur mon contrôle datagrid dans un


tableau en
> > dessous du datagrid.
> > Comment faire pour rajouter ces deux boutons alors que je n'ai pas


accés à
> > un designer ???
> > Merci bcp
> > Sylo
> >
> > "Sylo" a écrit :
> >
> > > OK j'ai trouvé...
> > > Il faut en fait que je crée une bibliothèque de classe, que je crée


la
> > > classe MyDatagrid comme précité dedans puis je compile la bibli
> > > Ensuite, je demande à rajouter des éléments dans la barre d'outils,


je
> vais
> > > chercher ma dll et je me retrouve avec le contrôle que je peux
> exploiter.
> > > Ke du bonheur...
> > > Merci vraimment bcp, je pensais pas que j'y arriverais aussi vite
> > > Sylvain
> > >
> > > "Sylo" a écrit :
> > >
> > > > Ok...
> > > > J'ai compris pour reflector. Cela ne fonctionne pas. Il doit y


avoir
> une
> > > > autre astuce.
> > > > Désolé d'abuser mais je t'explique ce que je fait
> > > >
> > > > 1 - je crée une classe
> > > > 2 - je la fait hérité et je met " Inherits
> System.Web.UI.WebControls.DataGrid"
> > > > 3 - je rajoute avant la classe les imports
> > > > "Imports System.Web.UI.WebControls
> > > > Imports System.ComponentModel
> > > > Imports System.Security.Permissions"
> > > > 4 - j'ouvre reflector, je vais cherchez datagrid, double-click
> > > > J'obtient ce que tu me dit. Je copye les attributs de la


classe
> de
> > > > datagrid au début de ma classe.
> > > > 5 - dans ma classe, je retrouve bien les méthodes et propriété de
> datagrid
> > > > derrière MyBase... Dans la liste des évènements, j'ai bien les
> évènements
> > > > d'un datagrid. Super.
> > > >
> > > > Et maintenant, qu'est ce que je fait... Comment utiliser se


composant
> dans
> > > > une webform ??? Il n'apparait pas dans ma barre d'outils ????


Kelle
> est la
> > > > manip ???
> > > >
> > > > Merci pour ton aide et reflector... Génial...
> > > > Sylo
> > > >
> > > > Donc je me dit qu'en fait non, je crée ma classe et je doit


glisser
> sur une
> > > > webform cette classe
> > > >
> > > >
> > > > "Paul Bacelar" a écrit :
> > > >
> > > > > Chez moi, cela marche très bien.
> > > > >
> > > > > J'ai utilisé Reflector sur ma machine pour avoir les attributs
> correspondant
> > > > > à ma version du FrameWork .NET (.NET1.1 avec VS.2003).
> > > > >
> > > > > Si vous utilisez un autre FrameWork, il faut adapter les valeurs


des
> > > > > attributs en fonction de votre FrameWork, et Reflector est là


pour
> vous y
> > > > > aider.
> > > > >
> > > > > Reflector n'est pas un simple explorateur d'objet mais un
> désassembleur
> > > > > ..NET, en clair, vous sélectionnez une classe ou une méthode et


il
> est
> > > > > capable de vous générer un code VB, C#, Delphi ou des


instructions
> > > > > Intermediate Language (IL) correspondant.
> > > > >
> > > > > Cas pratique, vous ne connaissez pas les attributs associés à la
> classe
> > > > > DataGrid qui lui permet d'avoir une interface d'utilisation sexy
> sous VS.
> > > > >
> > > > >
> > > > >
> > > > > - Vous sélectionné la classe DataGrid dans l'assembly et le
> namespace qui va
> > > > > bien.
> > > > >
> > > > > - Click droit, puis selectionnez le menu Disassembler
> > > > >
> > > > > - Vous verrez apparaître, dans un nouveau volet à droit, le code
> source de
> > > > > la classe, dans un langage .NET sélectionné préalablement dans
> > > > > Menu->View->Options... .
> > > > >
> > > > > - Vous n'aurez cas copier-coller les attributs de la classe


Datagrid
> fourni
> > > > > par Reflector comme attributs de votre propre classe.
> > > > >
> > > > >
> > > > >
> > > > > Si vous utilisez .NET2.0, je ne sais pas si Reflector fonctionne
> dessus mais
> > > > > il reste l'utilitaire ILDASM fourni avec VisualStudio.
> > > > >
> > > > > Il est moins sexy, mais il a l'avantage de venir avec


VisualStudio
> et
> > > > > compatible avec le FrameWork associé.
> > > > > --
> > > > > Paul Bacelar
> > > > >
> > > > >
> > > > >
> > > > > "Sylo" wrote in message
> > > > > news:
> > > > > > Paul,
> > > > > >
> > > > > > J'ai donc créer un user control et j'ai corrigé le hinerit


pour
> qu'il
> > > > > herite
> > > > > > de datagrid. Ensuite, j'ai copié les imports et le texte qui


suit
> juste
> > > > > avant
> > > > > > le "public class"...
> > > > > > Ca roule je n'ai pas d'erreur.
> > > > > > Par contre, quand je veux ouvrir le designer, j'ai un message
> d'erreur :
> > > > > > "Le fichier de classe associé à ce webform n'a pas pu être


chargé.
> Fermez
> > > > > > cette vue, corrigez les erruers éventuelles, puis rouvrez le


web
> form."
> > > > > >
> > > > > > Je n'ai pas utilisé Reflector parce que je ne vois pas à quoi


il
> peut me
> > > > > > servir. Cela semble être un explorateur d'objet mais je ne


vois à
> quoi il
> > > > > > peut m'être utile sur mon problème.
> > > > > >
> > > > > > Peut tu me le préciser car je pense que c'est la que ce situe


mon
> > > > > problème.
> > > > > >
> > > > > > Merci bcp
> > > > > > Sylo
> > > > > >
> > > > > > "Paul Bacelar" a écrit :
> > > > > >
> > > > > > > Quelle cochonnerie ce VB avec ses délimiteurs à la con.
> > > > > > >
> > > > > > > Vérifier la mise en page, les NG n'aiment pas VB comme moi


;-).
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > J'ai testé le drag-and-drop sur une page Web et sa marche
> nickel.
> > > > > > >
> > > > > > >
> > > > > > > <CODE>
> > > > > > > Imports System.Web.UI.WebControls
> > > > > > > Imports System.ComponentModel
> > > > > > > Imports System.Security.Permissions
> > > > > > >
> <Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > > PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
> > > > > > > Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > > > System.Design,
> > > > > > > Version=1.0.5000.0, Culture=neutral,
> PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > > PermissionSet(SecurityAction.InheritanceDemand,
> Xml:="<PermissionSet
> > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &


ChrW(10) &
> "
> > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > class=""System.Web.AspNetHostingPermission, System,
> Version=1.0.5000.0,
> > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &


ChrW(13) &
> > > > > ChrW(10) &
> > > > > > > " version=""1""" & ChrW(13) & ChrW(10) & "


Level=""Minimal""/>"
> &
> > > > > ChrW(13) &
> > > > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10)),
> > > > > > > PermissionSet(SecurityAction.LinkDemand,


Xml:="<PermissionSet
> > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &


ChrW(10) &
> "
> > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > class=""System.Web.AspNetHostingPermission, System,
> Version=1.0.5000.0,
> > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &


ChrW(13) &
> > > > > ChrW(10) &
> > > > > > > " version=""1""" & ChrW(13) & ChrW(10) & "


Level=""Minimal""/>"
> &
> > > > > ChrW(13) &
> > > > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10))> _
> > > > > > > Public Class MyDataGrid
> > > > > > > Inherits System.Web.UI.WebControls.DataGrid
> > > > > > > End Class
> > > > > > >
> > > > > > > </CODE>
> > > > > > >
> > > > > > > Pensez à utiliser Reflector pour savoir de quel assembly
> viennent les
> > > > > > > classes.
> > > > > > >
> > > > > > > Maîtrisez Reflector, cela en vaux largement la chandelle
> puisqu'il est
> > > > > très
> > > > > > > simple d'accès.
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Paul Bacelar
> > > > > > >
> > > > > > > "Sylo" <devbnet@[antispam]free.fr> wrote in message
> > > > > > > news:
> > > > > > > > J'ai essayer de recopier ton exemple mais il me fait une
> erreur sur
> > > > > > > > Editor,permissionset, designer (type indéfini)...
> > > > > > > > J'avoue ne pas tout comprendre. Si tu peux plus


détailler...
> > > > > > > > Dans tous les cas, merci beaucoup
> > > > > > > > Sylo
> > > > > > > >
> > > > > > > > "Paul Bacelar" a écrit
> dans le
> > > > > message
> > > > > > > > de news:
> > > > > > > > > Votre problème n'est pas lié à l'héritage.
> > > > > > > > > Vous voulez aussi avoir le même éditeur sous VS, que le
> DataGrid.
> > > > > > > > > VS utilise les attributs d'une classe pour connaître son
> éditeur, et
> > > > > en
> > > > > > > > > particulier EditorAttribute.
> > > > > > > > > Les attributs ne sont pas, généralement, hérités.
> > > > > > > > > Ils vous faut donc connaître la valeur de cet attribut


et
> l'utiliser
> > > > > > > avec
> > > > > > > > > votre classe dérivée, Reflector
> > > > > (http://www.aisto.com/roeder/dotnet/)
> > > > > > > est
> > > > > > > > > un
> > > > > > > > > outil très très pratique.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> <Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > > > > PublicKeyToken°3f5f7f11d50a3a",


GetType(ComponentEditor)),
> > > > > > > > >


Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > > > > > > > System.Design,
> > > > > > > > > Version=1.0.5000.0, Culture=neutral,
> > > > > PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > > > > PermissionSet(SecurityAction.InheritanceDemand,
> XML:="<PermissionSet
> > > > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &
> ChrW(10) & "
> > > > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > > > class=""System.Web.AspNetHostingPermission, System,
> > > > > Version=1.0.5000.0,
> > > > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &
> ChrW(13) &
> > > > > > > ChrW(10)
> > > > > > > > > &
> > > > > > > > > " version=""1""" & ChrW(13) & ChrW(10) &


"
> > > > > > > > > Level=""Minimal""/>" & ChrW(13) & ChrW(10) &
> "</PermissionSet>" &
> > > > > > > ChrW(13)
> > > > > > > > > &
> > > > > > > > > ChrW(10)), PermissionSet(SecurityAction.LinkDemand,
> > > > > XML:="<PermissionSet
> > > > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &
> ChrW(10) & "
> > > > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission


Avatar
Paul Bacelar
Reprenons calmement.
Reflector te donne le nom et les paramètres de création de 2
attributs.
Pour mon FrameWork
<REFLECTOR>
<Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
System.Design, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a" ),
PermissionSet(SecurityAction.InheritanceDemand, XML:="<PermissionSet
class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) & "
version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
class=""System.Web.AspNetHostingPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) &
ChrW(10) &
" version=""1""" & ChrW(13) & ChrW(10) & "
Level=""Minimal""/>" & ChrW(13) & ChrW(10) & "</PermissionSet>" &
ChrW(13) &
ChrW(10)), PermissionSet(SecurityAction.LinkDemand,
XML:="<PermissionSet
class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) & "
version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
class=""System.Web.AspNetHostingPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) &
ChrW(10) &
" version=""1""" & ChrW(13) & ChrW(10) & "
Level=""Minimal""/>" & ChrW(13) & ChrW(10) & "</PermissionSet>" &
ChrW(13) &
ChrW(10))> _
</REFLECTOR>

J'ai donc un attribut Editor, qui correspond à un objet de la classe
EditorAttribute, et un attribut Designer, qui correspond à un objet de
la
classe DesignerAttribute.
En cliquant sur les liens fournit par Reflector (tout ce qui est en
vert à
droit est un lien), tu arriveras sur les classes des attributs.
Ces attributs sont génériques et ne servent qu'à contenir le nom
d'une autre
classe.
Pour EditorAttribute, le premier paramètre (pour mon FrameWork,
"System.Web.UI.Design.WebControls.DataGridComponentEditor,
System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a")
est
le nom complet de la classe (namespace+nom de la classe+nom de la dll
assembly+la version de l'assembly+la culture de l'assembly+la clé
public de
l'assembly) chargé de montrer les propriétés de objet.
Pour DesignerAttribute, le seul paramètre (pour mon FrameWork,
"System.Web.UI.Design.WebControls.DataGridDesigner, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a")
est
le nom complet de la classe chargé d'intégré le designer de l'objet
dans
l'IDE.
Il ne te reste donc cas créer une classe dérivé de l'une de
Reflector de permet de connaître le code des classes de base, ce qui
n'est
pas négligeable ;-)
Un article sur la conception des Designer en .NET
http://msdn.microsoft.com/msdnmag/issues/04/12/CustomFormsDesigner/default. aspx
Sylo a écrit :
--
Paul Bacelar

J'ai creusé toute la matiné mais g pas trouver comment faire... JE va is
essayer d'être plus claire.
En général, pour faire un datagrid, je met un datagrid sur un webcont role
puis je rajoute un bouton créer au dessous de mon datagrid. Quand
l'utilisateur click sur ce bouton, je crée une ligne vide dans le datas et que
je met en édition.
Ce traitement est identique quelque soit les données de mon datagrid.

Aussi, dans ma nouvelle classe datagrid que j'ai créé, je n'ai pu que
récupérer les évènements de mon datagrid (sort, selection...) et créer de
nouveaux évènements. Je voudrais donc pouvoir rajouter ce bouton dans mon
controle sous le datagrid et coder tous les traitements lier à ce bouton
créer.

Comment faire cela don mon nouveau controle datagrid...
Merci bcp
Sylo

"Paul Bacelar" a écrit :

> Mais si, tu as accès au designer, tu peux même faire le tien.
>
> Les attributs que tu as copiés indiquent à VisualStudio ou à tout autres IDE
> quelle classe sera le designer du DataGrid.
>
> Si au lieu d'utiliser ces attributs, tu utilises tes propres classes
> d'attributs, tu pourras utiliser un autre Designer que celui du DataGri d.
>
> Rien ne t'empêche de dériver ton Designer de celui du DataGrid.
>
> Le designer est une classe comme une autre.
>
> http://msdn.microsoft.com/msdnmag/issues/03/05/Design-TimeControls/defa ult.aspx
>
> Reflector te donnera des exemples de d'implémentation qui marchent pu isse
> que c'est le code actuellement utilisé dans ton environnement de
> développement.
>
> No Limits ;-).
> --
> Paul Bacelar
>
>
> "Sylo" wrote in message
> news:
> > Par contre nouvelle question...
> > Je voulais rajouter 2 boutons sur mon contrôle datagrid dans un tab leau en
> > dessous du datagrid.
> > Comment faire pour rajouter ces deux boutons alors que je n'ai pas ac cés à
> > un designer ???
> > Merci bcp
> > Sylo
> >
> > "Sylo" a écrit :
> >
> > > OK j'ai trouvé...
> > > Il faut en fait que je crée une bibliothèque de classe, que je crée la
> > > classe MyDatagrid comme précité dedans puis je compile la bibli
> > > Ensuite, je demande à rajouter des éléments dans la barre d'o utils, je
> vais
> > > chercher ma dll et je me retrouve avec le contrôle que je peux
> exploiter.
> > > Ke du bonheur...
> > > Merci vraimment bcp, je pensais pas que j'y arriverais aussi vite
> > > Sylvain
> > >
> > > "Sylo" a écrit :
> > >
> > > > Ok...
> > > > J'ai compris pour reflector. Cela ne fonctionne pas. Il doit y av oir
> une
> > > > autre astuce.
> > > > Désolé d'abuser mais je t'explique ce que je fait
> > > >
> > > > 1 - je crée une classe
> > > > 2 - je la fait hérité et je met " Inherits
> System.Web.UI.WebControls.DataGrid"
> > > > 3 - je rajoute avant la classe les imports
> > > > "Imports System.Web.UI.WebControls
> > > > Imports System.ComponentModel
> > > > Imports System.Security.Permissions"
> > > > 4 - j'ouvre reflector, je vais cherchez datagrid, double-click
> > > > J'obtient ce que tu me dit. Je copye les attributs de la cla sse
> de
> > > > datagrid au début de ma classe.
> > > > 5 - dans ma classe, je retrouve bien les méthodes et propriét é de
> datagrid
> > > > derrière MyBase... Dans la liste des évènements, j'ai bien les
> évènements
> > > > d'un datagrid. Super.
> > > >
> > > > Et maintenant, qu'est ce que je fait... Comment utiliser se compo sant
> dans
> > > > une webform ??? Il n'apparait pas dans ma barre d'outils ???? Kel le
> est la
> > > > manip ???
> > > >
> > > > Merci pour ton aide et reflector... Génial...
> > > > Sylo
> > > >
> > > > Donc je me dit qu'en fait non, je crée ma classe et je doit gli sser
> sur une
> > > > webform cette classe
> > > >
> > > >
> > > > "Paul Bacelar" a écrit :
> > > >
> > > > > Chez moi, cela marche très bien.
> > > > >
> > > > > J'ai utilisé Reflector sur ma machine pour avoir les attributs
> correspondant
> > > > > à ma version du FrameWork .NET (.NET1.1 avec VS.2003).
> > > > >
> > > > > Si vous utilisez un autre FrameWork, il faut adapter les valeur s des
> > > > > attributs en fonction de votre FrameWork, et Reflector est là pour
> vous y
> > > > > aider.
> > > > >
> > > > > Reflector n'est pas un simple explorateur d'objet mais un
> désassembleur
> > > > > ..NET, en clair, vous sélectionnez une classe ou une méthod e et il
> est
> > > > > capable de vous générer un code VB, C#, Delphi ou des instr uctions
> > > > > Intermediate Language (IL) correspondant.
> > > > >
> > > > > Cas pratique, vous ne connaissez pas les attributs associés à la
> classe
> > > > > DataGrid qui lui permet d'avoir une interface d'utilisation sexy
> sous VS.
> > > > >
> > > > >
> > > > >
> > > > > - Vous sélectionné la classe DataGrid dans l'assembly et le
> namespace qui va
> > > > > bien.
> > > > >
> > > > > - Click droit, puis selectionnez le menu Disassembler
> > > > >
> > > > > - Vous verrez apparaître, dans un nouveau volet à droit, le code
> source de
> > > > > la classe, dans un langage .NET sélectionné préalablement dans
> > > > > Menu->View->Options... .
> > > > >
> > > > > - Vous n'aurez cas copier-coller les attributs de la classe Dat agrid
> fourni
> > > > > par Reflector comme attributs de votre propre classe.
> > > > >
> > > > >
> > > > >
> > > > > Si vous utilisez .NET2.0, je ne sais pas si Reflector fonctionne
> dessus mais
> > > > > il reste l'utilitaire ILDASM fourni avec VisualStudio.
> > > > >
> > > > > Il est moins sexy, mais il a l'avantage de venir avec VisualStu dio
> et
> > > > > compatible avec le FrameWork associé.
> > > > > --
> > > > > Paul Bacelar
> > > > >
> > > > >
> > > > >
> > > > > "Sylo" wrote in message
> > > > > news:
> > > > > > Paul,
> > > > > >
> > > > > > J'ai donc créer un user control et j'ai corrigé le hineri t pour
> qu'il
> > > > > herite
> > > > > > de datagrid. Ensuite, j'ai copié les imports et le texte qu i suit
> juste
> > > > > avant
> > > > > > le "public class"...
> > > > > > Ca roule je n'ai pas d'erreur.
> > > > > > Par contre, quand je veux ouvrir le designer, j'ai un message
> d'erreur :
> > > > > > "Le fichier de classe associé à ce webform n'a pas pu ê tre chargé.
> Fermez
> > > > > > cette vue, corrigez les erruers éventuelles, puis rouvrez l e web
> form."
> > > > > >
> > > > > > Je n'ai pas utilisé Reflector parce que je ne vois pas à quoi il
> peut me
> > > > > > servir. Cela semble être un explorateur d'objet mais je ne vois à
> quoi il
> > > > > > peut m'être utile sur mon problème.
> > > > > >
> > > > > > Peut tu me le préciser car je pense que c'est la que ce sit ue mon
> > > > > problème.
> > > > > >
> > > > > > Merci bcp
> > > > > > Sylo
> > > > > >
> > > > > > "Paul Bacelar" a écrit :
> > > > > >
> > > > > > > Quelle cochonnerie ce VB avec ses délimiteurs à la con.
> > > > > > >
> > > > > > > Vérifier la mise en page, les NG n'aiment pas VB comme mo i ;-).
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > J'ai testé le drag-and-drop sur une page Web et sa marche
> nickel.
> > > > > > >
> > > > > > >
> > > > > > > <CODE>
> > > > > > > Imports System.Web.UI.WebControls
> > > > > > > Imports System.ComponentModel
> > > > > > > Imports System.Security.Permissions
> > > > > > >
> <Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > > PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor )),
> > > > > > > Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > > > System.Design,
> > > > > > > Version=1.0.5000.0, Culture=neutral,
> PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > > PermissionSet(SecurityAction.InheritanceDemand,
> Xml:="<PermissionSet
> > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) & Chr W(10) &
> "
> > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > class=""System.Web.AspNetHostingPermission, System,
> Version=1.0.5000.0,
> > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" & C hrW(13) &
> > > > > ChrW(10) &
> > > > > > > " version=""1""" & ChrW(13) & ChrW(10) & " Level=""Mini mal""/>"
> &
> > > > > ChrW(13) &
> > > > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10)),
> > > > > > > PermissionSet(SecurityAction.LinkDemand, Xml:="<Permissio nSet
> > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) & Chr W(10) &
> "
> > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
> > > > > > > class=""System.Web.AspNetHostingPermission, System,
> Version=1.0.5000.0,
> > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" & C hrW(13) &
> > > > > ChrW(10) &
> > > > > > > " version=""1""" & ChrW(13) & ChrW(10) & " Level=""Mini mal""/>"
> &
> > > > > ChrW(13) &
> > > > > > > ChrW(10) & "</PermissionSet>" & ChrW(13) & ChrW(10))> _
> > > > > > > Public Class MyDataGrid
> > > > > > > Inherits System.Web.UI.WebControls.DataGrid
> > > > > > > End Class
> > > > > > >
> > > > > > > </CODE>
> > > > > > >
> > > > > > > Pensez à utiliser Reflector pour savoir de quel assembly
> viennent les
> > > > > > > classes.
> > > > > > >
> > > > > > > Maîtrisez Reflector, cela en vaux largement la chandelle
> puisqu'il est
> > > > > très
> > > > > > > simple d'accès.
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Paul Bacelar
> > > > > > >
> > > > > > > "Sylo" <devbnet@[antispam]free.fr> wrote in message
> > > > > > > news:
> > > > > > > > J'ai essayer de recopier ton exemple mais il me fait une
> erreur sur
> > > > > > > > Editor,permissionset, designer (type indéfini)...
> > > > > > > > J'avoue ne pas tout comprendre. Si tu peux plus détaill er...
> > > > > > > > Dans tous les cas, merci beaucoup
> > > > > > > > Sylo
> > > > > > > >
> > > > > > > > "Paul Bacelar" a éc rit
> dans le
> > > > > message
> > > > > > > > de news:
> > > > > > > > > Votre problème n'est pas lié à l'héritage.
> > > > > > > > > Vous voulez aussi avoir le même éditeur sous VS, qu e le
> DataGrid.
> > > > > > > > > VS utilise les attributs d'une classe pour connaître son
> éditeur, et
> > > > > en
> > > > > > > > > particulier EditorAttribute.
> > > > > > > > > Les attributs ne sont pas, généralement, hérité s.
> > > > > > > > > Ils vous faut donc connaître la valeur de cet attribu t et
> l'utiliser
> > > > > > > avec
> > > > > > > > > votre classe dérivée, Reflector
> > > > > (http://www.aisto.com/roeder/dotnet/)
> > > > > > > est
> > > > > > > > > un
> > > > > > > > > outil très très pratique.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> <Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > > > > PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEd itor)),
> > > > > > > > > Designer("System.Web.UI.Design.WebControls.DataGridDesi gner,
> > > > > > > > > System.Design,
> > > > > > > > > Version=1.0.5000.0, Culture=neutral,
> > > > > PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > > > > PermissionSet(SecurityAction.InheritanceDemand,
> XML:="<PermissionSet
> > > > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &
> ChrW(10) & "
> > > > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermiss ion
> > > > > > > > > class=""System.Web.AspNetHostingPermission, System,
> > > > > Version=1.0.5000.0,
> > > > > > > > > Culture=neutral, PublicKeyToken·7a5c561934e089""" &
> ChrW(13) &
> > > > > > > ChrW(10)
> > > > > > > > > &
> > > > > > > > > " version=""1""" & ChrW(13) & ChrW(10) & "
> > > > > > > > > Level=""Minimal""/>" & ChrW(13) & ChrW(10) &
> "</PermissionSet>" &
> > > > > > > ChrW(13)
> > > > > > > > > &
> > > > > > > > > ChrW(10)), PermissionSet(SecurityAction.LinkDemand,
> > > > > XML:="<PermissionSet
> > > > > > > > > class=""System.Security.PermissionSet""" & ChrW(13) &
> ChrW(10) & "
> > > > > > > > > version=""1"">" & ChrW(13) & ChrW(10) & " <IPermiss ion


Avatar
Sylo
Ok ca roule... Je ne suis pas tout mais j'ai le principal.
Maintenant j'utilise mon datagrid hérité...
A la première page tout roule mais dés que je change de page, que je
modifie, sélectionne ou autre (bref, dès que je fait un aller/retour
serveur), je perds mes colonnes boutons (sélection, suppression, etc...), la
pagination (il n'y en a plus)...
Par contre mes couleurs, bordure, etc reste les mêmes...

Je ne comprend pas pourquoi...

De même, toutes les propriété supplémentaires que j'ai créée, j'ai bien
veiller à utiliser le viewstate mais rien a faire, il perd les données.

Il doit y avoir encore un truc que je n'ai pas saisi. Peut tu m'aider...
Calmement... :)

Sylo

"Paul Bacelar" a écrit :

Reprenons calmement.
Reflector te donne le nom et les paramètres de création de 2 attributs.
Pour mon FrameWork
<REFLECTOR>
<Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
System.Design, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
Designer("System.Web.UI.Design.WebControls.DataGridDesigner, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a"),
PermissionSet(SecurityAction.InheritanceDemand, XML:="<PermissionSet
class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) & "
version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
class=""System.Web.AspNetHostingPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) & ChrW(10) &
" version=""1""" & ChrW(13) & ChrW(10) & "
Level=""Minimal""/>" & ChrW(13) & ChrW(10) & "</PermissionSet>" & ChrW(13) &
ChrW(10)), PermissionSet(SecurityAction.LinkDemand, XML:="<PermissionSet
class=""System.Security.PermissionSet""" & ChrW(13) & ChrW(10) & "
version=""1"">" & ChrW(13) & ChrW(10) & " <IPermission
class=""System.Web.AspNetHostingPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken·7a5c561934e089""" & ChrW(13) & ChrW(10) &
" version=""1""" & ChrW(13) & ChrW(10) & "
Level=""Minimal""/>" & ChrW(13) & ChrW(10) & "</PermissionSet>" & ChrW(13) &
ChrW(10))> _
</REFLECTOR>

J'ai donc un attribut Editor, qui correspond à un objet de la classe
EditorAttribute, et un attribut Designer, qui correspond à un objet de la
classe DesignerAttribute.
En cliquant sur les liens fournit par Reflector (tout ce qui est en vert à
droit est un lien), tu arriveras sur les classes des attributs.
Ces attributs sont génériques et ne servent qu'à contenir le nom d'une autre
classe.
Pour EditorAttribute, le premier paramètre (pour mon FrameWork,
"System.Web.UI.Design.WebControls.DataGridComponentEditor, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a") est
le nom complet de la classe (namespace+nom de la classe+nom de la dll
assembly+la version de l'assembly+la culture de l'assembly+la clé public de
l'assembly) chargé de montrer les propriétés de objet.
Pour DesignerAttribute, le seul paramètre (pour mon FrameWork,
"System.Web.UI.Design.WebControls.DataGridDesigner, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a") est
le nom complet de la classe chargé d'intégré le designer de l'objet dans
l'IDE.
Il ne te reste donc cas créer une classe dérivé de l'une de
Reflector de permet de connaître le code des classes de base, ce qui n'est
pas négligeable ;-)
Un article sur la conception des Designer en .NET
http://msdn.microsoft.com/msdnmag/issues/04/12/CustomFormsDesigner/default.aspx
--
Paul Bacelar

"Sylo" wrote in message
news:
> J'ai creusé toute la matiné mais g pas trouver comment faire... JE vais
> essayer d'être plus claire.
> En général, pour faire un datagrid, je met un datagrid sur un webcontrole
> puis je rajoute un bouton créer au dessous de mon datagrid. Quand
> l'utilisateur click sur ce bouton, je crée une ligne vide dans le dataset
que
> je met en édition.
> Ce traitement est identique quelque soit les données de mon datagrid.
>
> Aussi, dans ma nouvelle classe datagrid que j'ai créé, je n'ai pu que
> récupérer les évènements de mon datagrid (sort, selection...) et créer de
> nouveaux évènements. Je voudrais donc pouvoir rajouter ce bouton dans mon
> controle sous le datagrid et coder tous les traitements lier à ce bouton
> créer.
>
> Comment faire cela don mon nouveau controle datagrid...
> Merci bcp
> Sylo
>
> "Paul Bacelar" a écrit :
>
> > Mais si, tu as accès au designer, tu peux même faire le tien.
> >
> > Les attributs que tu as copiés indiquent à VisualStudio ou à tout autres
IDE
> > quelle classe sera le designer du DataGrid.
> >
> > Si au lieu d'utiliser ces attributs, tu utilises tes propres classes
> > d'attributs, tu pourras utiliser un autre Designer que celui du
DataGrid.
> >
> > Rien ne t'empêche de dériver ton Designer de celui du DataGrid.
> >
> > Le designer est une classe comme une autre.
> >
> >
http://msdn.microsoft.com/msdnmag/issues/03/05/Design-TimeControls/default.aspx
> >
> > Reflector te donnera des exemples de d'implémentation qui marchent
puisse
> > que c'est le code actuellement utilisé dans ton environnement de
> > développement.
> >
> > No Limits ;-).
> > --
> > Paul Bacelar
> >
> >
> > "Sylo" wrote in message
> > news:
> > > Par contre nouvelle question...
> > > Je voulais rajouter 2 boutons sur mon contrôle datagrid dans un
tableau en
> > > dessous du datagrid.
> > > Comment faire pour rajouter ces deux boutons alors que je n'ai pas
accés à
> > > un designer ???
> > > Merci bcp
> > > Sylo
> > >
> > > "Sylo" a écrit :
> > >
> > > > OK j'ai trouvé...
> > > > Il faut en fait que je crée une bibliothèque de classe, que je crée
la
> > > > classe MyDatagrid comme précité dedans puis je compile la bibli
> > > > Ensuite, je demande à rajouter des éléments dans la barre d'outils,
je
> > vais
> > > > chercher ma dll et je me retrouve avec le contrôle que je peux
> > exploiter.
> > > > Ke du bonheur...
> > > > Merci vraimment bcp, je pensais pas que j'y arriverais aussi vite
> > > > Sylvain
> > > >
> > > > "Sylo" a écrit :
> > > >
> > > > > Ok...
> > > > > J'ai compris pour reflector. Cela ne fonctionne pas. Il doit y
avoir
> > une
> > > > > autre astuce.
> > > > > Désolé d'abuser mais je t'explique ce que je fait
> > > > >
> > > > > 1 - je crée une classe
> > > > > 2 - je la fait hérité et je met " Inherits
> > System.Web.UI.WebControls.DataGrid"
> > > > > 3 - je rajoute avant la classe les imports
> > > > > "Imports System.Web.UI.WebControls
> > > > > Imports System.ComponentModel
> > > > > Imports System.Security.Permissions"
> > > > > 4 - j'ouvre reflector, je vais cherchez datagrid, double-click
> > > > > J'obtient ce que tu me dit. Je copye les attributs de la
classe
> > de
> > > > > datagrid au début de ma classe.
> > > > > 5 - dans ma classe, je retrouve bien les méthodes et propriété de
> > datagrid
> > > > > derrière MyBase... Dans la liste des évènements, j'ai bien les
> > évènements
> > > > > d'un datagrid. Super.
> > > > >
> > > > > Et maintenant, qu'est ce que je fait... Comment utiliser se
composant
> > dans
> > > > > une webform ??? Il n'apparait pas dans ma barre d'outils ????
Kelle
> > est la
> > > > > manip ???
> > > > >
> > > > > Merci pour ton aide et reflector... Génial...
> > > > > Sylo
> > > > >
> > > > > Donc je me dit qu'en fait non, je crée ma classe et je doit
glisser
> > sur une
> > > > > webform cette classe
> > > > >
> > > > >
> > > > > "Paul Bacelar" a écrit :
> > > > >
> > > > > > Chez moi, cela marche très bien.
> > > > > >
> > > > > > J'ai utilisé Reflector sur ma machine pour avoir les attributs
> > correspondant
> > > > > > à ma version du FrameWork .NET (.NET1.1 avec VS.2003).
> > > > > >
> > > > > > Si vous utilisez un autre FrameWork, il faut adapter les valeurs
des
> > > > > > attributs en fonction de votre FrameWork, et Reflector est là
pour
> > vous y
> > > > > > aider.
> > > > > >
> > > > > > Reflector n'est pas un simple explorateur d'objet mais un
> > désassembleur
> > > > > > ..NET, en clair, vous sélectionnez une classe ou une méthode et
il
> > est
> > > > > > capable de vous générer un code VB, C#, Delphi ou des
instructions
> > > > > > Intermediate Language (IL) correspondant.
> > > > > >
> > > > > > Cas pratique, vous ne connaissez pas les attributs associés à la
> > classe
> > > > > > DataGrid qui lui permet d'avoir une interface d'utilisation sexy
> > sous VS.
> > > > > >
> > > > > >
> > > > > >
> > > > > > - Vous sélectionné la classe DataGrid dans l'assembly et le
> > namespace qui va
> > > > > > bien.
> > > > > >
> > > > > > - Click droit, puis selectionnez le menu Disassembler
> > > > > >
> > > > > > - Vous verrez apparaître, dans un nouveau volet à droit, le code
> > source de
> > > > > > la classe, dans un langage .NET sélectionné préalablement dans
> > > > > > Menu->View->Options... .
> > > > > >
> > > > > > - Vous n'aurez cas copier-coller les attributs de la classe
Datagrid
> > fourni
> > > > > > par Reflector comme attributs de votre propre classe.
> > > > > >
> > > > > >
> > > > > >
> > > > > > Si vous utilisez .NET2.0, je ne sais pas si Reflector fonctionne
> > dessus mais
> > > > > > il reste l'utilitaire ILDASM fourni avec VisualStudio.
> > > > > >
> > > > > > Il est moins sexy, mais il a l'avantage de venir avec
VisualStudio
> > et
> > > > > > compatible avec le FrameWork associé.
> > > > > > --
> > > > > > Paul Bacelar
> > > > > >
> > > > > >
> > > > > >
> > > > > > "Sylo" wrote in message
> > > > > > news:
> > > > > > > Paul,
> > > > > > >
> > > > > > > J'ai donc créer un user control et j'ai corrigé le hinerit
pour
> > qu'il
> > > > > > herite
> > > > > > > de datagrid. Ensuite, j'ai copié les imports et le texte qui
suit
> > juste
> > > > > > avant
> > > > > > > le "public class"...
> > > > > > > Ca roule je n'ai pas d'erreur.
> > > > > > > Par contre, quand je veux ouvrir le designer, j'ai un message
> > d'erreur :
> > > > > > > "Le fichier de classe associé à ce webform n'a pas pu être
chargé.
> > Fermez
> > > > > > > cette vue, corrigez les erruers éventuelles, puis rouvrez le
web
> > form."
> > > > > > >
> > > > > > > Je n'ai pas utilisé Reflector parce que je ne vois pas à quoi
il
> > peut me
> > > > > > > servir. Cela semble être un explorateur d'objet mais je ne
vois à
> > quoi il
> > > > > > > peut m'être utile sur mon problème.
> > > > > > >
> > > > > > > Peut tu me le préciser car je pense que c'est la que ce situe
mon
> > > > > > problème.
> > > > > > >
> > > > > > > Merci bcp
> > > > > > > Sylo
> > > > > > >
> > > > > > > "Paul Bacelar" a écrit :
> > > > > > >
> > > > > > > > Quelle cochonnerie ce VB avec ses délimiteurs à la con.
> > > > > > > >
> > > > > > > > Vérifier la mise en page, les NG n'aiment pas VB comme moi
;-).
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > J'ai testé le drag-and-drop sur une page Web et sa marche
> > nickel.
> > > > > > > >
> > > > > > > >
> > > > > > > > <CODE>
> > > > > > > > Imports System.Web.UI.WebControls
> > > > > > > > Imports System.ComponentModel
> > > > > > > > Imports System.Security.Permissions
> > > > > > > >
> > <Editor("System.Web.UI.Design.WebControls.DataGridComponentEditor,
> > > > > > > > System.Design, Version=1.0.5000.0, Culture=neutral,
> > > > > > > > PublicKeyToken°3f5f7f11d50a3a", GetType(ComponentEditor)),
> > > > > > > > Designer("System.Web.UI.Design.WebControls.DataGridDesigner,
> > > > > > System.Design,
> > > > > > > > Version=1.0.5000.0, Culture=neutral,
> > PublicKeyToken°3f5f7f11d50a3a"),
> > > > > > > > PermissionSet(SecurityAction.InheritanceDemand,
> > Xml:="<PermissionSet


1 2