Après 2 jrs de recherche j'étais obligé de créer ma propre procédure qui me permet d'envoyer une requête vers impression (à l'aide de Crystal report) mais en passant les paramètres de tri effectué par l'utilisateur lui-même
Source / Exemple :
'***********************************
'*****Développé par kacen ayoub*****
'***********plus d'infos************
'*******ayoub.kacen@gmail.com*******
'***********************************
module procedure
'ont passe comme parametre la requete a executer ainsi que la datagrid sur laquel le tri est effectué
Public Function tri_iprim(ByVal affiche As DataGridView, ByVal requete As String) As String
'création de la collection dans la quel ont va stoquer les differents nom de champ de la table dans la base de donnée
dim collect_name as new collection
'retour sql est la requete qui serait retournai apres l'appel de cette fonction
Dim retour_sql As String
' juste un compteur pour videz la collection si elle est declarer comme collection public
Dim num As Integer
num = collect_name.Count
'videz la collection
While num > 0
collect_name.Remove(num)
num = num - 1
End While
'fin de vidage
'initiaisation de la requete retournée
retour_sql = requete
Dim dt As DataTable
dt = tools.chargementdatatable(retour_sql)
Dim jj As Integer
jj = 0
'remplissage de la collection par les nom des champs récupéré
While jj < affiche.ColumnCount + 1
Try
jj = jj + 1
collect_name.Add(dt.Columns.Item(jj).ColumnName)
Catch ex As Exception
End Try
End While
'verification si un tri a été effectué si oui on procede a la modification de requuete sinon on retourne lla requete elle meme
If affiche.SortOrder <> "0" Then
Try
Dim ii As Integer
Dim val As String = ""
ii = affiche.SortedColumn.Index
val = affiche.SortOrder.ToString
'recherche du bon objet de la collection a l'aide de l'index de la colone trie
retour_sql = retour_sql + " order by " + collect_name(ii).ToString
'recuperation du type de tri soit ascendant soit descendant
If val = "Ascending" Then
retour_sql = retour_sql + " asc"
Else
retour_sql = retour_sql + " desc"
End If
Catch ex As Exception
End Try
Else
End If
Return retour_sql
End Function
End Module
Conclusion :
l'appel de cette fonction en passant les paramètres requêtes et datagrid va permettre de récupérer le tri effectuer sur la datagrid et envoyer le paramètre de tri en l'insérant dans la requête existante
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.