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

Signaler
Messages postés
32
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
2 novembre 2004
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
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

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
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
Messages postés
32
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
2 novembre 2004

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
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
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
Messages postés
32
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
2 novembre 2004

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
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
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