Dataset, listview et excel

Soyez le premier à donner votre avis sur cette source.

Vue 28 076 fois - Téléchargée 4 299 fois

Description

Cette petite appli permet entre autre de remplir un listview à partir d'un dataset,
exporter les données d'un liste view vers excel.
L'application utilise des fonctions et des procédures simples qui ne nécessitent
pas plus de deux paramétres de base pour faire le travail nécessaire.
Pour utiliser cette appli, une base de données MS Access a été fournie en exemple. Merci de parcourir le répertoire du codes sources pour le localiser.
Le nom de la table par défaut est "Customers". Si vous le voulez bien, vous pouvez choisir une autre base de données access et donner le nom de la table voulue.

Source / Exemple :


'============================================================
'Ce code permet de remplir un list view à partir d'un dataset
'============================================================  
Public Sub RemplirListView(ByVal unDataSet As DataSet, ByVal unListView As ListView)
        Dim i As Integer = 0
        Dim myTable As DataTable
        Dim myRow As DataRow
        Dim myColumn As DataColumn
        Dim uneChaine As String
        Dim j As Integer
        REM VIDER LE LIST VIEW AVANT REMPLISSAGE DE NOUVEAU ELEMENT
        unListView.Clear()
        REM DEFINITION DES COLONNES DU LIST VIEW QUI CORRESPONDENT AUX COLONNES DE LA TABLE
        For Each myTable In unDataSet.Tables
            For Each myColumn In myTable.Columns
                unListView.Columns.Add(myTable.Columns(i).ColumnName, 60, HorizontalAlignment.Left)
                i = i + 1
            Next
        Next
        j = 0
        REM ECRITURE DES LIGNES DANS LE LIST VIEW
        For Each myTable In unDataSet.Tables
            For Each myRow In myTable.Rows
                i = 1
                Dim LVI As New ListViewItem
                For Each myColumn In myTable.Columns
                    If i = 1 Then
                        LVI.Text = CType(myRow(myColumn) & "", String)
                    Else
                        uneChaine = CType(myRow(myColumn) & "", String)
                        LVI.SubItems.Add(uneChaine)
                    End If
                    i += 1
                Next myColumn
                REM PERMET D'ALTERNER LES COULEURS DES LIGNES (C BIEN DE FAIRE UN PEU DE DESIGN)
                If (j Mod 2) = 0 Then
                    unListView.Items.Add(LVI).BackColor = Color.White
                Else
                    unListView.Items.Add(LVI).BackColor = Color.AliceBlue
                End If
                j += 1
            Next myRow
        Next myTable
        unListView.View = View.Details
        unListView.AutoArrange = True
    End Sub
'============================================================
'Et ce petit bout permet de générer un dataset
'============================================================
    Public Function GenererDataSet(ByVal uneRequete As String) As DataSet
        Dim uneConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" _
            + OFDialogExplorer.FileName)
        Dim dsPaiements As New DataSet
        If Not unDs Is Nothing Then
            unDs.Clear()
        End If
        Try
            Dim sqlCmdPaiements As String = uneRequete
            uneConnexion.Open()
            Dim oledbDA As New OleDbDataAdapter(sqlCmdPaiements, uneConnexion)
            GenererDataSet = New DataSet
            oledbDA.Fill(dsPaiements)
            oledbDA.Dispose()
            uneConnexion.Close()
            uneConnexion = Nothing
            unDs = dsPaiements
        Catch Sqlex As OleDbException
            MessageBox.Show(Sqlex.Message, "Erreur SQL")
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Erreur...")
        End Try
        Return dsPaiements
    End Function

Conclusion :


Et bien c'est tout!!!

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
30
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
10 juin 2009
1
merci pour le partage !
Messages postés
40
Date d'inscription
jeudi 6 mars 2008
Statut
Membre
Dernière intervention
3 juillet 2009

Parfait, merci pour l'aide.

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.