2010-03-11 5 views
0

J'ai écrit un programme en C#. J'ai un problème dans le rapport de cristal. Je veux trier les données dans un rapport en cliquant sur un lien dans l'en-tête. est-ce possible dans un rapport de cristal?TRIER dans CRISTAL RAPPORT

s'il vous plaît aider grâce ...

Répondre

2

Kinda.

Si vous distribuez vos rapports avec BusinesObjects Enterprise (BOE), vous pouvez:

  • créer un rapport avec un champ de paramètre ({sortedField?) Qui sera utilisé pour définir le tri
  • créer de rapport un champ de formule ({@sortedField}) qui utilise {? sortedField} pour choisir le champ de base de données à utiliser pour le tri
  • référence {@sortedField} dans le rapport | Report Sort Expert
  • créer un lien OpenDocument Url dans l'en-tête de champ qui définirait le champ de paramètre à la valeur désirée et réexécuter le rapport.

Si vous n'utilisez pas BOE, vous pouvez exécuter votre propre modèle d'URL pour faire quelque chose de similaire.

Exemple:

hypothèses

  • Un rapport a été créé à l'aide Xtreme.mdb.
  • Le rapport est une liste à deux colonnes de Nom du client (Nom Clients.Nom du client) et de la région (clients.REGION)

mise en œuvre

Créer deux champs de paramètres:

AscSortedField - Chaîne; valeur par défaut: CustomerName DescSortedField - String; Valeur par défaut: ignorées

Créer deux champs de formule:

AscSortedField

//AscSortedField 
//If the parameter's value isn't found, a NULL is returned (a good thing) 
SELECT {?AscSortedField} 
CASE "CustomerName": {Customer.Customer Name} 
CASE "Region": {Customer.Region} 

DescSortedField

//DescSortedField 
//If the parameter's value isn't found, a NULL is returned (a good thing) 
SELECT {?DescSortedField} 
CASE "CustomerName": {Customer.Customer Name} 
CASE "Region": {Customer.Region} 

Ouvrir Tri d'enregistrements de Expert du rapport. Ajoutez {@AscSortedField}; assurez-vous que sa direction de tri est définie sur "Ascendant". Ajoutez {@DescSortedField}; assurez-vous que sa direction de tri est définie sur "Décroissant".

Utilisation

Si vous souhaitez trier le rapport par le nom du client dans l'ordre croissant, définissez la valeur du paramètre AscSortedField à « CustomerName » et définir la valeur du paramètre DescSortedField à une valeur factice (par exemple « Ignoré ») .

Si vous souhaitez trier le rapport par région dans l'ordre décroissant, définissez la valeur du paramètre AscSortedField sur 'Ignoré' et définissez la valeur du paramètre DescSortedField sur 'Région'.

+0

pouvez-vous me donner un exemple, j'utilise visual studio 2008 crystal report –