Temat: ustawienie szerokości podraportu za pomocą formuły

Witam,
mam w jednej sekcji załadowany podraport. Po kliknięciu na podraport mam opcję "Rozmiar i położenie...". Tam mogę ustawić szerokość na sztywno oraz wejść w formułę wpisać dowolną szerokość. Niestety wpisana szerokość jakoś nie chce się "wziąć pod uwagę" i cały czas raport ma szerokość tę wpisaną na sztywno. Da się tę formułę jakoś wykorzystać? Chciałbym przekazywać parametr i w zależności od niego ustawiać szerokość podraportu.
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: ustawienie szerokości podraportu za pomocą formuły

Chyba faktycznie jest z tym problem i to nie tylko w przypadku podraportów.

Stworzyłem dla próby bardzo prosty raport z polem tekstowym. Wpisałem z ręki Size and Position i działa. Ale jak wpiszę tą samą liczbę jako formułę pod atrybutem to CR to ignoruje.

Pomyślałem, że może trzeba zastosować dodatkową funkcję określają czas wykonania formuły (tzw. Evalution Time)
Próbowałem kolejno z
BeforeReadingRecords
WhileReadingRecords
WhilePrintingRecords

i też nie pomogło.

Możliwe że jest to bug.

Przypomniało mi się, że miałem kiedyś podobny problem przy przesuwaniu obiektów tekstowych na podstawie formuły. Wówczas obszedłem to w ten sposób, że do pola tekstowego wstawiłem na początku obliczoną ilość spacji (obliczaną na podstawie formuły).

Jednak w twoim przypadku chodzi o przesunięcie podraportu, więc to nie jest rozwiązanie.

Przykro mi, ale na razie nie znalazłem rozwiązania.
Jak tylko znajdę jakiś sposób to dam znać. Pozdrawiam!

Paweł Kardas:
Super, będę bardzo wdzięczny.
Wersja: Crystal Reports 11.5.7.636
Marcin Sulecki:
Witam,
Widziałem twoje pytanie na forum, chciałem nawet przeanalizować twój problem, ale nie miałem czasu. Postaram się dzisiaj lub jutro zająć tym problemem.

Pozdrawiam,
Marcin Sulecki

Paweł Kardas:
Cześć,
pisałem posta na forum Crystal, ale jakoś chyba rzadko tam ktoś zagląda. Jeśli miałbyś chwilkę i możliwość rzucenia okiem na mój problem to byłbym wdzięczny :)

mam w jednej sekcji załadowany podraport. Po kliknięciu na podraport mam opcję "Rozmiar i położenie...". Tam mogę ustawić szerokość na sztywno oraz wejść w formułę wpisać dowolną szerokość. Niestety wpisana w formułę szerokość jakoś nie chce się "wziąć pod uwagę" i cały czas raport ma szerokość tę wpisaną na sztywno. Da się tę formułę jakoś wykorzystać? Chciałbym przekazywać parametr i w zależności od niego ustawiać szerokość podraportu.

Temat: ustawienie szerokości podraportu za pomocą formuły

Ok, dzięki wielkie.
Na jednym podraporcie mam schemat dla 5 zakładów, zakłady mam ułożone kolumnami obok siebie. Dlatego chciałem w zależności od ilości zakładów, dla których tworze raport zmniejszać szerokość podraportu by ukrywać puste kolumny dla mniejszej liczby zakładów niż 5.
No nic, może inaczej się uda. :)

Pozdrawiam.
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: ustawienie szerokości podraportu za pomocą formuły

Może gdybym zobaczył raport to mógłbym coś zaproponować. W razie czego jeśli informacje są poufne to proszę o bezpośredni kontakt.

Temat: ustawienie szerokości podraportu za pomocą formuły

Rozwiązałem to w ten sposób, że nałożyłem cztery puste podraporty na siebie odpowiednio przesunięte i zmieniam kolor tła. W zależności od tego ile zakładów mam pokazać obok siebie wyświetlam odpowiedni pusty podraport z białym tłem ukrywając puste kolumny.

Zostaje jeszcze tylko kwestia jak użyć jednego podraportu wielokrotnie a nie robić 24 sekcje z tym samym podraportem :(Paweł Kardas edytował(a) ten post dnia 26.04.11 o godzinie 10:10
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: ustawienie szerokości podraportu za pomocą formuły

POPRAWKA: Size and Position wyliczane za pomocą formuły działa!

Po prostu wartość wpisana za pomocą formuły, przesuwa w prawo (X) lub poszerza pole (Width) względem wpisanej wartości. Ale jest jeszcze jedna niespodzianka: wartość wpisujemy w tzw. twips'ach, a nie centymetrach lub pikselach! Twip to taka specjalna jednostka drukarska: 1440 twips / cal. http://en.wikipedia.org/wiki/Twip

Jeśli zatem chcemy zależnie od daty przesunąć wartość do następnej kolumny, to możemy użyć formuły jak poniżej:
If (Orders.Ship Date) < CDateTime (2004, 01, 01, 02, 10, 11) then 4320
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: ustawienie szerokości podraportu za pomocą formuły

Więcej na ten temat napisałem na moim blogu:
http://sulmar.blogspot.com/2011/10/dynamiczna-zmiana-r...

Następna dyskusja:

Formuły w Crystal Syntax




Wyślij zaproszenie do