BindingSource, classe (System.Windows.Forms)

Bibliothèque de classes .NET Framework 
BindingSource, classe 

Remarque : cette classe est nouvelle dans le .NET Framework version 2.0.

Encapsule la source de données pour un formulaire.

Espace de noms : System.Windows.Forms
Assembly : System.Windows.Forms (dans system.windows.forms.dll)

SyntaxeSyntaxe


Visual Basic (Déclaration)
Public Class BindingSource
    Inherits Component
    Implements IBindingListView, IBindingList, IList, ICollection, _
    IEnumerable, ITypedList, ICancelAddNew, ISupportInitializeNotification, ISupportInitialize, _
    ICurrencyManagerProvider


Visual Basic (Utilisation)
Dim instance As BindingSource


C#
public class BindingSource : Component, IBindingListView, IBindingList, IList, 
    ICollection, IEnumerable, ITypedList, ICancelAddNew, ISupportInitializeNotification, 
    ISupportInitialize, ICurrencyManagerProvider


C++
public ref class BindingSource : public Component, IBindingListView, IBindingList, IList, 
    ICollection, IEnumerable, ITypedList, ICancelAddNew, ISupportInitializeNotification, 
    ISupportInitialize, ICurrencyManagerProvider


J#
public class BindingSource extends Component implements IBindingListView, IBindingList, 
    IList, ICollection, IEnumerable, ITypedList, ICancelAddNew, 
    ISupportInitializeNotification, ISupportInitialize, ICurrencyManagerProvider


JScript
public class BindingSource extends Component implements IBindingListView, IBindingList, 
    IList, ICollection, IEnumerable, ITypedList, ICancelAddNew, 
    ISupportInitializeNotification, ISupportInitialize, ICurrencyManagerProvider
NotesNotes

Le composant BindingSource présente les intérêts suivants. En premier lieu, il simplifie la liaison de contrôles présents sur un formulaire à des données en fournissant différents services, notamment une couche d'indirection, une gestion monétaire et une notification de changements. Pour ce faire, attachez le composant BindingSource à votre source de données, puis liez les contrôles de votre formulaire au composant BindingSource. Toute interaction supplémentaire avec les données, y compris la navigation, le tri, le filtre et la mise à jour, est effectuée avec les appels au composant BindingSource.

En second lieu, le composant BindingSource peut agir comme une source de données fortement typées. En général, le type de la source de données sous-jacente est fixé par le biais d'un des mécanismes suivants :

  • Utilisez la méthode Add pour ajouter un élément au composant BindingSource.

  • Définissez la propriété DataSource à une liste, un objet unique ou un type.

Ces deux mécanismes créent une liste fortement typée. BindingSource prend en charge les liaisons de données simple et complexe, comme indiqué par ses propriétés DataSource et DataMember.

RemarqueRemarque

Comme BindingSource gère à la fois les sources de données simple et complexe, la terminologie est problématique. Dans cette documentation de classe, le terme liste fait référence à une collecte de données dans la source de données hébergée, et le terme élément désigne un élément seul. Les termes équivalents table et ligne sont utilisés pour des fonctionnalités associées aux sources de données complexes,.

BindingSource fournit des membres pour accéder aux données sous-jacentes. L'élément actuel peut être récupéré via la propriété Current, et la liste entière peut être récupérée via la propriété List. Les opérations de modification sont prises en charge sur l'élément actuel via Current et les méthodes RemoveCurrent, EndEdit, CancelEdit, Add et AddNew. Bien que la gestion de la devise soit gérée automatiquement pour l'ensemble des types de sources de données sous-jacents, cette classe expose plusieurs événements, tels que CurrentItemChanged et DataSourceChanged qui permettent la personnalisation.

Les sources de données liées à un composant BindingSource peuvent également être parcourues et gérées avec la classe BindingNavigator qui fournit une interface utilisateur de type magnétoscope pour parcourir des éléments dans une liste. Bien que BindingNavigator puisse être lié à n'importe quelle source de données, il a été conçu pour s'intégrer à un composant BindingSource via sa propriété BindingNavigator.BindingSource.

La propriété par défaut pour la classe BindingSource est DataSource. L'événement par défaut est CurrentChanged.

AttentionAttention

Un certain nombre de membres de la classe BindingSource fonctionnent dans la liste sous-jacente représentée par la propriété List et font référence à leur opération simplement dans la liste sous-jacente. Par conséquent, lorsque le BindingSource est lié à une implémentation personnalisée de IList, le comportement exact de ces membres peut différer du comportement décrit dans la documentation de classe. Par exemple, la méthode RemoveAt appelle IList.RemoveAt. La documentation de BindingSource décrit la méthode RemoveAt en stipulant que la méthode RemoveAt du IList sous-jacent est implémentée correctement.

ExempleExemple

L'exemple de code suivant illustre un ListBox liée à un BindingSource. Le BindingSource est lié à un BindingList qui contient une liste de polices.



Visual Basic
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms
Public Class Form1
    Inherits Form

    <STAThread()> _
    Shared Sub Main()
        Application.EnableVisualStyles()
        Application.Run(New Form1())

    End Sub

    Public Sub New()

    End Sub

    Private textBox1 As TextBox
    Private WithEvents button1 As Button
    Private listBox1 As ListBox
    Private components As IContainer
    Private binding1 As BindingSource

    Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        listBox1 = New ListBox()
        textBox1 = New TextBox()
        binding1 = New BindingSource()
        button1 = New Button()
        listBox1.Location = New Point(140, 25)
        listBox1.Size = New Size(123, 160)
        textBox1.Location = New Point(23, 70)
        textBox1.Size = New Size(100, 20)
        textBox1.Text = "Wingdings"
        button1.Location = New Point(23, 25)
        button1.Size = New Size(75, 23)
        button1.Text = "Search"
        Me.ClientSize = New Size(292, 266)
        Me.Controls.Add(Me.button1)
        Me.Controls.Add(Me.textBox1)
        Me.Controls.Add(Me.listBox1)

        Dim fonts As New MyFontList()
        Dim i As Integer
        For i = 0 To FontFamily.Families.Length - 1
            If FontFamily.Families(i).IsStyleAvailable(FontStyle.Regular) Then
                fonts.Add(New Font(FontFamily.Families(i), 11.0F, FontStyle.Regular))
            End If
        Next i
        binding1.DataSource = fonts
        listBox1.DataSource = binding1
        listBox1.DisplayMember = "Name"

    End Sub
    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _
        Handles button1.Click

        If binding1.SupportsSearching <> True Then
            MessageBox.Show("Cannot search the list.")
        Else
            Dim foundIndex As Integer = binding1.Find("Name", textBox1.Text)
            If foundIndex > -1 Then
                listBox1.SelectedIndex = foundIndex
            Else
                MessageBox.Show("Font was not found.")
            End If
        End If

    End Sub
End Class

Public Class MyFontList
    Inherits BindingList(Of Font)

    Protected Overrides ReadOnly Property SupportsSearchingCore() As Boolean
        Get
            Return True
        End Get
    End Property
    
    Protected Overrides Function FindCore(ByVal prop As PropertyDescriptor, _
        ByVal key As Object) As Integer
        ' Ignore the prop value and search by family name.
        Dim i As Integer
        While i < Count
            If Items(i).FontFamily.Name.ToLower() = CStr(key).ToLower() Then
                Return i
            End If
            i += 1
        End While

        Return -1
    End Function
End Class
Hiérarchie d'héritageHiérarchie d'héritage
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
      System.Windows.Forms.BindingSource
Sécurité des threadsSécurité des threads
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Plates-formesPlates-formes

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

Informations de versionInformations de version

.NET Framework

Prise en charge dans : 2.0

.NET Compact Framework

Prise en charge dans : 2.0
Voir aussiVoir aussi

Ces informations proviennent du site de http://msdn2.microsoft.com
Source de cette page : http://msdn2.microsoft.com/fr-fr/library/system.windows.forms.bindingsource.aspx

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

9 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-4341
Document créé le 14/10/06 23:53, dernière modification le Vendredi 17 Juin 2011, 12:11
Source du document imprimé : http://www.gaudry.be/dotnet-rf-system.windows.forms.bindingsource.html Document affiché 1 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,31 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées...

Maxime Allain
 
l'infobrol
Nous sommes le Vendredi 01 Juin 2012, 04:57, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)