Report a campi ingrociati, ordinamento righe / colonne

giovedì 28 aprile 2005 - 22.42

volperubbia Profilo | Senior Member

Ciao a tutti,
da qualche giorno sto realizzando alcuni report a campi incrociati, finora non mi era capitato di poterne apprezzare la qualità. Il mio problema è sull'ordinamento delle righe e delle colonne, in quanto vorrei mantenere l'ordine che arriva dal datasource.

Come fare nel caso in cui i due campi da incrociare sono di tipo stringa?

L'ordinamento è fatto in base al valore della stringa.

La soluzione più banale è quella di concatenare in testa ai due campi ad esempio 01, 02, 03 ..., oppure A, B, C, D, ..., ma esteticamente non è granchè.

Possibile che per i campi incrociati non sia possibile specificare MANTIENI ORDINE ORIGINALE, come per le altre tipologie di report?

Grazie per l'attenzione, Davide

P.S.: la versione di Crystal Reports da me utilizzata è quella base disponibile nell'ambiente di Visual Studio .NET 2003. Che sia un limite di querta versione?

totti240282 Profilo | Guru

ma nel report fai qualche ordinamento ????

freeteo Profilo | Guru

ciao,

se fai "esperto campi incrociati" selezioni la riga e hai il tasto "opzioni gruppo" che ti dovrebbe lasciare la possibilita di lasciare l'ordine originale, cosi tu eventualmente li ordini prima nella query o gli definisci l'ordine che vuoi tu... :-)
o intendevi altro?
ciao

volperubbia Profilo | Senior Member

Ciao Teo,
è proprio questo il problema. Quando vado su Opzioni gruppo..., mi compaiono solo le seguenti 3 opzioni:
- in ordine crescente
- in ordine decrescente
- nell'ordine specificato.

Non compare mantieni ordine originale.

Davide

freeteo Profilo | Guru

e se vai su "esperto ordinamento gruppo" dove metti nessun ordinamento?

oppure se riesci a ricavarti 1campo al volo con la query tipo:

select left(nome,2)as ordine,nome etc...

e poi ordini per quel campo...effettivamente non è come 1 gruppo normale i campi incrociati, è 1po limitato perche lui fa i conti, nenache nella versione 10 c'e' guardero' nella XI...:-)

ciao

volperubbia Profilo | Senior Member

Ciao e grazie,
ho risolto il problema. Con esperto progettazione campi incrociati, ho aggiunto nelle righe e colonne altri due campi, ma questa volta numerici, in modo da non perdere l'ordinamento crescente:
- righe: CampoNum1, CampoString1
- colonne: CampoNum2, CampoString2.

Omettendo poi intestazioni e totali di CampoNum1 e CampoNum2, e dato che la corrispondenza fra CampoNum1 - CampoString1 e fra CampoNum2 - CampoString2 è uno a uno, ottengo il risultato voluto, anche se purtroppo il datasource risulta appesantito di due colonne in più.

Davide

freeteo Profilo | Guru

ottimo, l'importante è che funzioni in questo caso perche 2 colonne in piu non sono 1 problema (tuttalpiu' sono numerici, se fossero blob sarebbe 1po piu problematico...)
cmq si,ho notato che sta cosa è 1po antipatica ma se pensi che deve calcolare i dati e incrociarli, si puo' capire che dietro ci sia 1 problema di agilita di programmazione...
anche crystal ogni tanto delude in alcune cose ma cosa ci vuoi fare ;-)
ciao
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5