[ASPX][VB.NET] Custom control, propriété avec attribut modifiable

chrisisis Messages postés 32 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 2 novembre 2004 - 16 juin 2004 à 09:59
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 17 juin 2004 à 15:56
Bonjour,

J'ai développé un custom control avec plusieurs propriété dont dataSource et dataMember.

Il est possible de mettre des attributs sur les propriétés.
Un exemple, ci-dessous

Seulement suivant les attributs les propriétés se retrouvent inactives comme dataSource.
En précisant category ("Data") cette propriété est accessible dans la partie données de la fenêtre de propriété du contrôle sur la page aspx, mais elle est non modifiable
Alors que si l'on ne précise aucun attribut, la propriété est placée dans la partie divers et est active, donc modifiable.

Je souhaiterais mettre les propriétés dataSource et dataMember dans la partie données et donc les rendre modifiable.
J'ai essayé d'ajouter l'attribut readOnly(false) mais il n'a aucune incidence.

Une idée ??

Merci d'avance
Chrisisis

 
'''<summary>Propriété d'accès au DataSource</summary>
     _
    Public Property DataSource() As Object
        Get
            Return _oDataSource
        End Get
        Set(ByVal Value As Object)
            _oDataSource =  Value
        End Set
    End Property

    '''<summary>Propriété d'accès au  DataMember </summary>
    Public Property DataMember() As String
        Get
            Return _sDataMember
        End Get
        Set(ByVal Value As String)
            _sDataMember  = Value
        End Set
    End Property

5 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
16 juin 2004 à 22:25
Je suis pas sur d'avoir tout à fait saisie ce que tu souhaites.

si j'ai bien compris tu voudrais faire apparaitre tes propriétés dans une certaines cartie lorsque tu affiches les propriétés de ton controle à l'aide de VS.net ?

si c'est le cas : voici comment faire en vb.net
Imports System.ComponentModel

'''<summary>Propriété d'accès au DataMember</summary>
<Description("Ici la description du controle"), Category("Data")> _
Public Property DataMember() As String
Get
Return _sDataMember
End Get
Set(ByVal Value As String)
_sDataMember = Value
End Set
End Property

J'espere t'avoir été utile :)

Cyril
0
chrisisis Messages postés 32 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 2 novembre 2004
17 juin 2004 à 09:49
J'ai justement importer System.ComponentModel
et j'ai écrit les propriétés avec les attributs :
<Description("Ici la description du controle"), Category("Data")>

Le problème c'est que dés que je précise l'attribut Category
de valeur data, ma proriété est alors non modifiable dans la fenêtre VS.Net

Ce que je cherche c'est mettre la proriété dans la partie données donc préciser Category("Data") et qu'elle soit modifiable.

J'ai essayé d'ajouter l'attribut readOnly(false) mais il n'a aucune incidence.

D'ou ???

Chrisisis
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
17 juin 2004 à 12:36
et lorsque tu ne met pas Category("Data") ou autre chose ca marche ?

dans ta page aspx est-ce que tu peux faire <MesControles.Controle id="Controle1" runat="server" datasource="...."/>

est-ce que ca ca marche ?

Ca me semble tres bizarre :-/ faudrais regarder dans le MSDN si on trouve pas qqchose la dessus.

Cyril
0
chrisisis Messages postés 32 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 2 novembre 2004
17 juin 2004 à 14:09
En fait si tu ne précise pas category("Data"), la propriété est placée dans la partie divers de la fenêtre propriété dans VS.NET et dans ce cas elle est modifiable.

Malgér tout tu as accès à la propriété par le code, sans souci
monControl.datasource = unDataTable par exemple

Seulement, j'aimerai avoir la même structure qu'un datalist ou un datagrid, donc avoir les propriétés DataSource, DataMember et dataKeyField dans la partie données.

Mais est-ce possible ?
Je ne vois pas pourquoi cela ne le serait pas, mais ...

Chrisisis
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
17 juin 2004 à 15:56
oui effectivement c'est bizarre, surtout si qd elle est ds la category divers ca marche :-/ t'as essayé de mettre dans une catégorie, juste pour tester ? ou essaye au lieu de mettre les memes noms que les autres controles des autres noms genre sourceData etc...

En tout cas ca reste bizarre que ca ne marche pas :-/ encore une sugestion : au lieu de mettre ta propriété en object essaye de la mettre dans un autre type, on sait jamais :)

bon courage

Cyril
0