Séléction distincte dans un datatable

Contenu du snippet

Permet de récupérer une séléction d'enregistrements uniques dans un datatable. Un peu à la manière du SELECT DISTINCT.

Source / Exemple :


Private Function selectDistincDataView(ByVal table As DataTable, ByVal champ As String) As DataTable

        Dim i As Int32
        Dim ret As Int16
        Dim dtResultat As New DataTable

        dtResultat.Columns.Add(champ, table.Columns(champ).GetType)
        dtResultat.DefaultView.Sort = champ
        dtResultat.DefaultView.ApplyDefaultSort = True

        For i = 0 To table.Rows.Count - 1
            If dtResultat.Rows.Count > 0 Then
                ret = dtResultat.DefaultView.Find(table.Rows(i)(champ))
                If ret = -1 Then
                    dtResultat.Rows.Add(dtResultat.NewRow)
                    dtResultat.Rows(dtResultat.Rows.Count - 1)(champ) = table.Rows(i)(champ)
                End If
            Else
                dtResultat.Rows.Add(dtResultat.NewRow)
                dtResultat.Rows(0)(champ) = table.Rows(0)(champ)
            End If
        Next

        Return dtResultat

    End Function

A voir également

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.