Soyez le premier à donner votre avis sur cette source.
Snippet vu 4 005 fois - Téléchargée 19 fois
Imports System.Windows.Forms Public Class AmaComboBox Inherits ComboBox Dim WithEvents m_bBinding As Binding Dim m_AmaDataSource As Data.DataTable 'Table Public Property AmaDataSource As Data.DataTable 'base de donnée à faire afficher dans la liste déroulante Get Return m_AmaDataSource End Get Set(ByVal value As Data.DataTable) m_AmaDataSource = value End Set End Property Public m_AmaDataMembrerName As String = "Name" 'Champs de la base de donnée à afficher dans la liste déroulante Public Property AmaDataMembrerName As String Get Return m_AmaDataMembrerName End Get Set(ByVal value As String) m_AmaDataMembrerName = value End Set End Property Public m_AmaDataMembrerNumId As String = "NumId" Public Property AmaDataMembrerNumId As String 'Champs de la base de donnée à envoyer à la bindingsource Get Return m_AmaDataMembrerNumId End Get Set(ByVal value As String) m_AmaDataMembrerNumId = value End Set End Property Public m_AmaDataBindingsSource As BindingSource Public Property AmaDataBindingsSource As BindingSource 'BindinsSource Get Return m_AmaDataBindingsSource End Get Set(ByVal value As BindingSource) m_AmaDataBindingsSource = value If IsNothing(value) = False Then m_bBinding = New Binding("Text", m_AmaDataBindingsSource, m_AmaDataBindingsMembre) Me.DataBindings.Add(m_bBinding) End If End Set End Property Dim m_AmaDataBindingsMembre As String = "NumIdSociété" Public Property AmaDataBindingsMembre As String 'Champs de la bindingsource à faire afficher Get Return m_AmaDataBindingsMembre End Get Set(ByVal value As String) m_AmaDataBindingsMembre = value End Set End Property Dim m_NullValue As String = "<Aucun>" Public Property NullValue As String 'Valeur à afficher en cas de champs null Get Return m_NullValue End Get Set(ByVal value As String) m_NullValue = value End Set End Property Private Sub m_bBindingArcNarratif_Format(ByVal sender As Object, ByVal e As System.Windows.Forms.ConvertEventArgs) Handles m_bBinding.Format Select Case CInt(e.Value) Case Is = 0 e.Value = m_NullValue Case Else Dim Rowview As DataRow() = m_AmaDataSource.Select(m_AmaDataMembrerNumId & "= '" & e.Value.ToString & "'") If Rowview.Length = 0 Then e.Value = m_NullValue Else e.Value = Rowview(0).Item(m_AmaDataMembrerName) End If End Select End Sub Private Sub m_bBindingArcNarratif_Parse(ByVal sender As Object, ByVal e As System.Windows.Forms.ConvertEventArgs) Handles m_bBinding.Parse Dim Rowview As DataRow() = m_AmaDataSource.Select(m_AmaDataMembrerName & "= '" & e.Value.ToString & "'") If Rowview.Length = 0 Then e.Value = 0 Else e.Value = CInt(Rowview(0).Item(m_AmaDataMembrerNumId)) End If End Sub Private Sub AmaComboBox_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.DropDown Me.Items.Clear() Dim dv As DataView = m_AmaDataSource.DefaultView dv.Sort = m_AmaDataMembrerName For x As Integer = 1 To dv.Count Me.Items.Add(dv.Item(x - 1).Row.Item(1)) Next End Sub Private Sub AmaComboBox_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown If e.KeyCode = Keys.Delete Then Me.Text = m_NullValue End If If e.KeyCode = Keys.Back Then Me.Text = m_NullValue End If e.SuppressKeyPress = True End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.