Ordinamento report in VS .NET 2005

lunedì 25 settembre 2006 - 10.50

Doctor Profilo | Newbie

Ciao a tutti
ho un problema con il report di Visual Studio .NET 2005.
Ho un report che preleva dei record da una tabella di un database e me le visualizza, io vorrei che fossero ordinati per una colonna (tipo ordinati per la colonna "Descrizione").
Uso la SelectionFormula per passare la query da VB .NET 2005 al CR, ma non sò che istruzione devo utilizzare per ordinare i record per una colonna.
Ho provato a cercare su internet e ho letto che esiste un campo denominato "SortField" che ti permette di ordinare i record, peccato che questi campi di ordinamento funzionino solamente sul CR server di cui io non ho intenzione di comprare.
Spero che qualcuno mi possa aiutare.


Un grazie anticipato a tutti!!!!!



UN UOMO NON MUORE PER QUALCOSA IN CUI NON CREDE

TIMIDI MATER NON FLET

freeteo Profilo | Guru

ciao,
quando costruisci il report puoi ordinare i record per la colonna che vuoi, basta che mentre hai aperto il report a design tu vada nel menu :

"crystal report->report->record sort expression"

e imposti quello che vuoi tu
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Doctor Profilo | Newbie

no quest'opzione già l'avevo vista ma non mi è stata d'aiuto... io vorrei poterlo fare in runtime....
se l'utente clicca in una checkbox deve venir fuori l'ordinamento per "Descrizione", se invece clicca un'altra checkbox deve venire fuori l'ordinamento per "Listino"....
UN UOMO NON MUORE PER QUALCOSA IN CUI NON CREDE

TIMIDI MATER NON FLET

freeteo Profilo | Guru

ciao,
allora puoi fare cosi':
- aggiungere 1 campo formula e metterlo uguale al campo che vuoi di dafult
- ordinare i record come ti dicevo prima, per questo campo formula
- modificarla poi a runtime (es: "mioreport.DataDefinition.FormulaFields["ordina"].Text = "{camposcelto}")
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Doctor Profilo | Newbie

grazie mille... ci sono riuscito...

sorio Profilo | Junior Member

ciao...
questo discorso mi interessa...
ma questa Datadefinition

"mioreport.DataDefinition.FormulaFields["ordina"].Text = "{camposcelto}"

non compare tra le proprieta del mio crystalreportviewer.....non capisco

come posso modificare il formula field e dargli cosi modo di decidere il campo di ordinamento a runtime?

Doctor Profilo | Newbie

Ciao
il "DataDefinition" che cerchi non è all'interno della classe "CrystalReportViewer" ma all'interno della classe "ReportDocument".

Basta che prima dichiari una variabile "ReportDocument":

Dim Report As CrystalDecisions.CrystalReports.Engine.ReportDocument

Poi applichi le impostazioni che vuoi su "DataDefinition":

Report.DataDefinition.FormulaFields["ordina"].Text = "{camposcelto}

Ed infine associ al "CrystalReportViewer" l'oggetto "ReportDocument":

CrystalReportViewer1.ReportSource = Report

Spero di esserti stato d'aiuto.
UN UOMO NON MUORE PER QUALCOSA IN CUI NON CREDE

TIMIDI MATER NON FLET

sorio Profilo | Junior Member

Dim Report As New CrystalDecisions.CrystalReports.Engine.ReportDocument Report.SetDataSource("F:\Source\Win90\ReportEmittenti.rpt") Report.DataDefinition.FormulaFields("ordina").Text = "{zona.nome}" CrystalReportViewer1.ReportSource = Report


grazie per l'appoggio!

però col codice che ho trascritto sopra mi crasha il form...il messaggio che mi da è una security exception...
non capisco l'errore!

Doctor Profilo | Newbie

Con sincerità ti dico di non sapere con esattezza dove sia l'errore, però prova a cancellare questo pezzo di codice:

Report.SetDataSource("F:\Source\Win90\ReportEmittenti.rpt")

e rimpiazzalo con questo:

Report.Load("F:\Source\Win90\ReportEmittenti.rpt")
UN UOMO NON MUORE PER QUALCOSA IN CUI NON CREDE

TIMIDI MATER NON FLET

sorio Profilo | Junior Member

niente da fare!
mi da lo stesso errore del lancio di eccezzione...

qualche idea?
qualche consiglio?

Doctor Profilo | Newbie

A me va tutto normale e non mi dà un'eccezione di tipo security.
Mi puoi dare il messaggio di errore che ti genera oppure allegare uno screenshot?
Così provo a capire quale potrebbe essere l'errore
______________________________________________________
UN UOMO NON MUORE PER QUALCOSA IN CUI NON CREDE

TIMIDI MATER NON FLET

sorio Profilo | Junior Member


1220x474 414Kb


ecco l'immagine.... grazie ancora per il supporto...

Doctor Profilo | Newbie

Se permetti ti vorrei dare il consiglio di gestire le eccezioni con un try catch es.
Try
istruzioni da seguire
Catch ex As Exception
Messagebox.Show("Errore durante l'esecuzione di button1_click() - " & ex.Message)
End Try

Così gestisci eventuali errori.

Credo di aver trovato il problema, prova a cambiare la riga che ti dà l'eccezione con questa:

Report.DataDefinition.FormulaFields("ordina").Text = "{zona.nome}"

Credo che sia per colpa del "{@ordina}" invece di "ordina".

Prova e fammi sapere.

______________________________________________________
UN UOMO NON MUORE PER QUALCOSA IN CUI NON CREDE

TIMIDI MATER NON FLET

sorio Profilo | Junior Member

niente da fare...
nemmeno con "ordina" va....

ecco il testo dell'eccezione...

772x134 61Kb



(grazie ancora per la pazienza!)

Doctor Profilo | Newbie

Ciao
questa eccezione è la prima volta che la vedo.
Veramente non so quello che dirti, per cui provo a dirti un paio di tentativi che potresti fare per capire quale è il problema.

1 - Sostituisci questa riga "Report.filename="ReportEmittenti.rpt"" con "Report.load("ReportEmittenti.rpt")"
2 - Da quello che ho capito è un'errore riguardante i permessi del file (FileIOPermission), quindi dovresti vedere se hai i permessi di lettura/scrittura nel file "ReportEmittenti.rpt"
3 - Per creare i report utilizzi il Crystal report integrato con Visual Studio .net 2005?
______________________________________________________
UN UOMO NON MUORE PER QUALCOSA IN CUI NON CREDE

TIMIDI MATER NON FLET

sorio Profilo | Junior Member

1. ho tentato anche cosi... ma mi lancia la stessa eccezione al momento della Load()

2. ho verificato gli accessi e i permessi... sono quasi certo di averli sistemati tutti

3. uso crystal report 10... che differenza fa?

sorio Profilo | Junior Member

Ho individuato il problema.
siccome salvavo e compilavo i dati su un server, aveva problemi di accesso!

ho spostato tutto in locale, e ora funziona a meraviglia!

grazie mille per il supporto
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5