Binding de propriété de UserControl contenu dans un GridView

[Résolu]
Signaler
Messages postés
13
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
3 mai 2007
-
Messages postés
13
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
3 mai 2007
-
Bonjour,

J'ai crée un user control que j'utilise dans une colonne template d'un gridview ... Les données du gridview sont chargées via un dataset.

Je dois binder une propriété de mon UserControl avec ma datasource mais dans les champs bindables je n'ai que des propriétés par défault.

_EnableTheming
_EnableViewState
_Visible

Meme en cochant la case "All"

Dans mon userControl j'ai crée une propriété publique et ai essayé d'y placer un attribut "Bindable" mais sans succès....

<System.ComponentModel.Bindable(

True)> _

Public
Property Note()
As
Integer

Get

Return Liste_Notes.SelectedValue

End
Get

Set(
ByVal value
As
Integer)

If
Not IsNothing(Liste_Notes.Items.FindByValue(value))
Then

If Liste_Notes.SelectedIndex > -1 Then Liste_Notes.SelectedItem.Selected FalseListe_Notes.Items.FindByValue(value).Selected

True

End
If

End
Set

End
Property

Au secours ... je vois pas du tout comment y parvenir ...

Merci par avance de votre aide

2 réponses

Messages postés
13
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
3 mai 2007

RESOLU ....

avant de poste ma question j'ai qd mm pas mal cherché mais au final j'ai trouvé tout seul ;)

il faut importer :

Imports

System.ComponentModel

et utiliser l'attribut :

True)> _

Public
Property Note()
As
Integer
..... // suite du code

Pour finir, si l'attribut n'apparait pas dans l'assistant de binding, stipuler le binding a la main dans le code :

<

uc1:UC_NoteMini
ID="UC_NoteMini1"
runat="server"
Visible='<%# DataBinder.Eval(Container.DataItem,"Notation_Critere") = True %>
'
Note='<%# DataBinder.Eval(Container.DataItem,"Note") = True %>'

/>

Et voila le travail ;-)

Merci moi ...
Messages postés
13
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
3 mai 2007

Erreur de retrnascription :

ce n'est pas
DataBinder.Eval(Container.DataItem,"Note") = True

mais juste:

DataBinder.Eval(Container.DataItem,"Note")

car j'ai copier/collé le binding de la propriété "visible" pour illuster mon exemple mais ai oublié le "=True"

Mais en tout cas ca marche ..... testé et approuvé ;)