2009-09-21 32 views
29

W edytorze Crystal Reports dołączonym do programu Visual Studio (2008) możliwe jest wyrównanie tekstu do środka pola tekstowego, a nie do góry?Pionowe wyrównanie tekstu w programie Crystal Reports?

Nie mogę znaleźć opcji w dowolnym miejscu, a wyszukiwarka Google nie jest zachęcająca, ale nie mogę po prostu uwierzyć, że nie zawiera ona tak oczywistej funkcji.

Odpowiedz

21

Nie ma pionowego wyrównania raportów kryształów, które mogłem znaleźć. Potencjalnym obejściem jest programowanie przerw w linii.

+0

Nie dla tekstu wyśrodkowanego nie jest. – Richard

+5

Co za wstyd ... –

-1

w raporcie kryształowym 10 etykieta >> prawy przycisk myszy >> format Tekst >> Wspólny >> obrót tekstu. wybrać 90 stopni tekst będzie mieć pionowe wyrównanie sam w polu lub dowolnego obiektu dodanego do raportu nadziei, że mogę pomóc

notatka odpowiedź (format tekstowy> zakładka ustępu, poziome wyrównanie: Centered) jest źle

+7

To nie jest to, co pionowe wyrównanie oznacza bila. Wyrównanie w pionie oznacza, że ​​jeśli mam pudełko o wysokości 50 jednostek i tekst o wysokości 10 jednostek, wówczas nad tekstem będzie 20 jednostek przestrzeni i 20 jednostek przestrzeni poniżej tekstu. Jest to podstawowa cecha każdego systemu układu, jaki mogę wymyślić. –

+5

Porozmawiaj o niepotrzebnych poziomach kar za błędne zrozumienie pytania. Wycofałem się, ponieważ szukałem niewłaściwej rzeczy i znalazłem odpowiedź niezależnie. – VoronoiPotato

+0

+1 Masz rację VoronoiPotato. Niepoprawna, ale przydatna odpowiedź. Thanks bilal :) – Mzn

1

Nie mogę znaleźć opcji wyrównania tekstu w pionie do etykiety, ale możesz wyrównać w pionie etykiety w sekcji. Użyj poziomych linii na lewym marginesie, aby dostosować wyrównanie. Może być konieczne kliknięcie prawym przyciskiem myszy prowadnicy i usunięcie zaznaczenia opcji "Przyciągaj do siatki", aby uzyskać bardziej precyzyjne pozycjonowanie.

horizontal guideline

+0

Które trójkątne zakładki? To wydaje się być prawidłowym rozwiązaniem w mojej sprawie – Mzn

0

pionowe wyrównanie z przerwami liniowych programowania. Algorytm dla jednej komórki:

  1. Policz liczbę znaków w danych (iTextLen).
  2. Znajdź liczbę linii tekstu w komórce (iLineNum). Obliczono empirycznie.
  3. Znajdź długość wiersza w znakach (iLineLen). Obliczono empirycznie.
  4. Oblicz liczbę policzonych połówek według wzoru (iLineNum — 1) — (iTextLen/iLineLen).

    @formula składni kryształu

    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. dodawania wzoru w górnej i dolnej części danych. Obiekty tekstowe będą wyglądały następująco:
    {@formula}{DataSource}{@formula}

    Wielkość czcionki @formula musi być o połowę mniejsza niż rozmiar czcionki {DataSource}. Na przykład, jeżeli rozmiar czcionki {DataSource} równa 20 The @formula powinna być równa 10: formula-position-and-font-size

Algorytm działa lepiej z nieproporcjonalnego kroju, ale z czcionką proporcjonalną działa w większości przypadków.

Algorytm dla wielu komórek różni się tylko tym, że iLineNum będzie maksymalną liczbą znaków w danych wszystkich komórek.

Powiązane problemy