2009-09-21 28 views
29

Nell'editor di Crystal Reports fornito con Visual Studio (2008) è possibile allineare il testo al centro di una casella di testo anziché all'inizio?Allineamento verticale del testo in Crystal Reports?

Non riesco a trovare l'opzione da nessuna parte e una ricerca su Google non è incoraggiante, ma non riesco a convincermi che non includeranno una funzionalità così ovvia.

risposta

21

Non c'è allineamento verticale per i report di cristallo che potrei trovare. Una potenziale soluzione è la programmazione delle interruzioni di riga.

+0

Non per il testo centrato non lo è. – Richard

+5

Che peccato ... –

-1

in cristallo report 10 l'etichetta >> tasto destro >> formato testo >> comune >> rotazione del testo. scegliere 90 gradi il testo avrà un allineamento verticale stesso in un campo o di qualsiasi oggetto si aggiunge al report speranza che io ti aiuti

nota la risposta (testo Formato> scheda Paragrafo, l'allineamento orizzontale: Centrato) è un errato

+7

Questo non è l'allineamento verticale bilal. Allineamento verticale significa che se ho una casella alta 50 unità e un testo alto 10 unità, ci saranno 20 unità di spazio sopra il testo e 20 unità di spazio sotto il testo. È una caratteristica di base in qualsiasi sistema di layout a cui possa pensare. –

+5

Parlare di inutili livelli di punizione per incomprensione della domanda. Ho svalutato perché ho cercato la cosa sbagliata, e ho trovato la risposta a prescindere. – VoronoiPotato

+0

+1 Hai ragione VoronoiPotato. Risposta errata ma utile. Grazie bilal :) – Mzn

1

Non riesco a trovare un'opzione per allineare verticalmente il testo all'interno di un'etichetta, ma è possibile allineare verticalmente le etichette all'interno di una sezione. Usa le linee guida orizzontali sul margine sinistro per regolare l'allineamento. Potrebbe essere necessario fare clic con il pulsante destro del mouse sulla linea guida e deselezionare "Blocca sulla griglia" per ottenere un posizionamento più preciso.

horizontal guideline

+0

Quali schede a triangolo? Questa sembra una soluzione valida per il mio caso – Mzn

0

allineamento verticale con interruzioni di riga di programmazione. Algoritmo per una cella:

  1. Contare il numero di caratteri nei dati (iTextLen).
  2. Trova il numero di righe di testo nella cella (iLineNum). Calcolato empiricamente
  3. Trova la lunghezza della riga in caratteri (iLineLen). Calcolato empiricamente
  4. Calcolare il conteggio del numero di mezzi scatti in base alla formula (iLineNum — 1) — (iTextLen/iLineLen).

    @formula nella sintassi cristallo:

    Local NumberVar iLineNum:= 5; 
    Local NumberVar iLineLen:= 30; 
    Local NumberVar iTextLen:= Length({DataSource}); 
    
    Local StringVar sRet:= ''; 
    Local NumberVar i; 
    Local NumberVar iLinesNum:= Truncate(iLineNum - 1) - Truncate(iTextLen/iLineLen); 
    For i:= 1 to iLinesNum Do (sRet:= sRet + chr(13)); 
    
    sRet 
    
  5. Add formula alla parte superiore e inferiore dei dati. Gli oggetti di testo sarà simile a questo:
    {@formula}{DataSource}{@formula}

    dimensione del carattere del @formula deve essere dimezzato di dimensione del carattere {DataSource}. Ad esempio, se la dimensione del font {DataSource} uguale a 20, il @formula dovrebbe essere pari a 10: formula-position-and-font-size

algoritmo funziona meglio con caratteri a spaziatura fissa, ma con carattere proporzionale funziona nella maggior parte dei casi.

Algoritmo per più celle differisce solo dal fatto che iLineNum sarà il numero massimo di caratteri nei dati di tutte le celle.