begin process at 2012 02 15 20:24:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

problm grav vb.net


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problm grav vb.net

vendredi 21 avril 2006 à 15:04:14 | problm grav vb.net

dev17

commment ajouter combobox dans un datagrid (code vb.net)
aidez-moi please
vendredi 21 avril 2006 à 19:05:00 | Re : problm grav vb.net

Senynium X

Salut,
considère que ton datagrid s'appelle DGLISTE, et fais un code de ce genre.

Dim colonne As new DataGridComboBoxColumn
DGListe.tableStyle.GridColumnStyles.Add(colonne)

Intellisense te donnera tout un tas de propriétés avec la variable colonne, regarde les, tu trouveras plein de truc interessants ...



mardi 25 avril 2006 à 19:16:14 | Senynium aidez moi please..

dev17

Salut,

Mais dis moi  comment je pe faire pour que dataGridComboBoxColumn soit connu
est ce que je dois ajouter un fichier Dll ou koi car il n'est pa connu?
please répond moi

mardi 25 avril 2006 à 19:55:48 | Re : problm grav vb.net

Senynium X

Excuse moi, je t'avais pas donné la classe, tu la trouveras ci dessous, mais attention, elle est pas du tout commentée. Je n'ai ni le temps, ni l'envie de la commenter.



Public Class DataGridComboBoxColumn
    Inherits DataGridTextBoxColumn


    Private cmb As Combobox
    Private cm As CurrencyManager
    Private iCurrentRow As Integer

    Public Sub New()
        Me.cm = Nothing

        Me.cmb = New ComboBox
        Me.cmb.DropDownStyle = ComboBoxStyle.DropDownList
        Me.cmb.Sorted = True

        AddHandler Me.cmb.Leave, AddressOf comboBox_Leave

    End Sub

    Public ReadOnly Property Combobox() As Combobox
        Get
            Combobox = cmb
        End Get
    End Property

    Private Sub DataGrid_Scroll(ByVal sender As Object, ByVal e As EventArgs)
        Try
            Me.cmb.Hide()

        Catch ex As Exception
            'MsgBox(ex.ToString)
        End Try
    End Sub

    Private Sub comboBox_Leave(ByVal sender As Object, ByVal e As EventArgs)
        Try
            Dim s As String
            Dim rowView As DataRowView = Me.cmb.SelectedItem
            If (Not rowView Is Nothing) Then
                s = rowView.Row(Me.cmb.DisplayMember)
            Else
                s = ""
            End If

            SetColumnValueAtRow(Me.cm, Me.iCurrentRow, s)
            Invalidate()

            Me.cmb.Hide()
            AddHandler Me.DataGridTableStyle.DataGrid.Scroll, AddressOf DataGrid_Scroll
        Catch ex As Exception
            'MsgBox(ex.ToString)
        End Try

    End Sub

    Protected Overloads Overrides Sub Edit(ByVal source As System.Windows.Forms.CurrencyManager, ByVal rowNum As Integer, ByVal bounds As System.Drawing.Rectangle, ByVal rOnly As Boolean, ByVal instantText As String, ByVal cellIsVisible As Boolean)
        Try

            MyBase.Edit(source, rowNum, bounds, rOnly, instantText, cellIsVisible)

            If ((Not Me.ReadOnly) And (Not rOnly) And (cellIsVisible)) Then
                Me.iCurrentRow = rowNum
                Me.cm = source

                AddHandler Me.DataGridTableStyle.DataGrid.Scroll, AddressOf DataGrid_Scroll

                Me.cmb.Parent = Me.TextBox.Parent
                Dim rect As Rectangle = Me.DataGridTableStyle.DataGrid.GetCurrentCellBounds()
                Me.cmb.Location = rect.Location
                Me.cmb.Size = New Size(Me.TextBox.Size.Width, Me.cmb.Size.Height)

                Me.cmb.SelectedIndex = Me.cmb.FindStringExact(Me.TextBox.Text)

                Me.cmb.Show()
                Me.cmb.BringToFront()
                Me.cmb.Focus()
            End If
        Catch ex As Exception
            'MsgBox(ex.ToString)
        End Try

    End Sub


    Protected Overrides Sub SetColumnValueAtRow(ByVal source As System.Windows.Forms.CurrencyManager, ByVal rowNum As Integer, ByVal value As Object)
        Try
            Dim s As Object = value


            Dim pt As Point = Me.DataGridTableStyle.DataGrid.PointToClient(Control.MousePosition)
            Dim hti As DataGrid.HitTestInfo = Me.DataGridTableStyle.DataGrid.HitTest(pt)
            Dim bmb As BindingManagerBase = Me.DataGridTableStyle.DataGrid.BindingContext(Me.DataGridTableStyle.DataGrid.DataSource, Me.DataGridTableStyle.DataGrid.DataMember)
            'If ((hti.Row < bmb.Count) AndAlso (hti.Type = DataGrid.HitTestType.Cell)) Then

            Dim cm As CurrencyManager = CType(Me.DataGridTableStyle.DataGrid.BindingContext(Me.cmb.DataSource), CurrencyManager)
            Dim dv As DataView = CType(cm.List, DataView)
            Dim i As Integer

            For i = 0 To dv.Count - 1
                If (s.Equals(dv(i)(Me.cmb.DisplayMember))) Then
                    Exit For
                End If
            Next

            If (i < dv.Count) Then
                s = dv(i)(Me.cmb.ValueMember)
            Else
                s = DBNull.Value
            End If
            MyBase.SetColumnValueAtRow(source, rowNum, s)


            'End If
        Catch ex As Exception
            'MsgBox(ex.ToString)
        End Try

    End Sub



    Protected Overrides Function GetColumnValueAtRow(ByVal source As System.Windows.Forms.CurrencyManager, ByVal rowNum As Integer) As Object
        Try
            Dim obj As Object = MyBase.GetColumnValueAtRow(source, rowNum)

            Dim cm As CurrencyManager = CType(Me.DataGridTableStyle.DataGrid.BindingContext(Me.cmb.DataSource), CurrencyManager)
            Dim dv As DataView = CType(cm.List, DataView)

            Dim i As Integer
            For i = 0 To dv.Count - 1
                If (obj.Equals(dv(i)(Me.cmb.ValueMember))) Then
                    Exit For
                End If
            Next
            If (i < dv.Count) Then
                Return dv(i)(Me.cmb.DisplayMember)
            End If

            Return DBNull.Value
        Catch ex As Exception
            'MsgBox(ex.ToString)
        End Try

    End Function

End Class




Cette discussion est classée dans : net, vb, problm, grav


Répondre à ce message

Sujets en rapport avec ce message

Pour telecharger VB.NET c'est par ici... [ par Visual Basic.Net ] http://msvaus.www.conxion.com/download/visualstudionet/trial/2.0/w982kmexp/en-us/setup.exec la beta 2 en us version evaluation ): Rafraichir le webbrowser avec VB [ par Cecile ] bonjour, je suis en train de creer une appli sous VB.net mais comme pas bp de monde programme sur VB.net j'aimerai au moins savoir comment on peut raf VB.net gratuitement! (C pas une question, C une annonce!) [ par blackwizzard ] comme je sais que ma news ne passera pas, la voila...Votre News a bien été ajoutée et apparaîtra après validation (on essaye de faire au plus vite :) Compilation - VB.NET [ par Shadow ] salut, comment faut compiler avec vb.net ??????? creer un datagrid avec VB.NET [ par Cecile ] voila, j'y arrive sur VB6 mais impossible sur .net!!!j'essai de mettre toutes mes donnees d'une table ACCESS sur un datagrid VB.netj'ai cree une conne ACCESS et DATAGRID sur VB.NET [ par Cecile ] voila, j'y arrive sur VB6 mais impossible sur .net!!!j'essai de mettre toutes mes donnees d'une table ACCESS sur un datagrid VB.netj'ai cree une conne VB sur le NET [ par nono78 ] Comment faire pour mettre un programme VB sur internet ? NOUVEAU SITE VB, .NET, Etc ... [ par hervé ] Forum, codes sources, tutorial, etc ...www.he-product.fr.st Groupe sde contrôle et structures VB.NET 7 Bêta 2 [ par cyrilp ] J'ai un gros souci ! Je suis un développeur VB6, et j'ai récemment installé VB.NET...J'essaye de développer mon premier projet sous VB.NET et malheure Où télécharger VB.net (Beta) [ par Philipin ] Où est-il possible de télécharger VB.NET (Beta)Merci


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,981 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales