2012-02-15 17 views
5

Nie wiem, czy to możliwe, czy nie, ale pomyślałem, że bym zapytał. Wielokrotnie raporty wymagają grupowania danych, które zakotwiczyły u dołu raportu niektóre informacje podsumowujące, takie jak faktury. Nie chcesz, aby sumy przesuwały się w górę w oparciu o tylko 2 szczegółowe linie w porównaniu z kolejnymi z 20. Próbowałem pracować z użyciem Tablix powiązanego ze źródłem danych dla wyniku, ale nie mogłem tego zrobić całkiem poprawnie ... Byłoby to albo przesunąć w górę, albo wymusić przerwę i pojawić się u góry następnej strony.Stopka raportu RDLC z wartością z "Bieżącego rekordu"

Tak więc, jeśli ktoś ma jakieś pomysły, aby pomóc rozwiązać ten problem, to też byłoby świetnie.

Moje drugie podejście polegało na użyciu prostego stopki strony raportu. Jednak ogólna strona "Raport" nie jest technicznie "BOUND" do dowolnego źródła danych. Więc jeśli mogę umieścić pole tekstowe w stopce i chcą to pokazać coś, nie mogę odebrać „najnowsza rzędzie od źródła danych związanego z Tablix”, to zawsze wymaga kruszywo, takie jak

=First(Fields!SomeField.Value, "SomeDataSource") 
=Sum(... 
=Last(... 
etc... 

Po prostu chcę, aby to, co było najnowsze ... więc próbowałem użyć zmiennych raportowych, aby je utworzyć i zastanawiałem się, czy można je zaktualizować dla każdego przetwarzanego wiersza, więc zawsze miał on wartość "najnowszą" i Mogę po prostu zrzucić tę wartość na dole raportu.

Wszelkie sugestie do obu byłoby świetnie. Dzięki.

Odpowiedz

2

Wiem, że to stare pytanie, ale miałem bardzo podobny problem i wymyśliłem unikalne rozwiązanie. Otrzymałem oświadczenie, które wymagało wydruku odcinka płatności na dole strony, nawet jeśli elementy zamówienia z wyciągiem zostały umieszczone na innej stronie. Rozwiązałem go przez:

  • Ulepszanie wszystkich wierszy w raporcie.
  • Obliczanie, ile wierszy zostało zobowiązane do wypełnienia strony (minus wysokość mojego dowodu wpłaty.
  • Uzyskiwanie liczbę elementów liniowych w oświadczeniu.
  • Obliczanie pozostała liczba wierszy potrzebne do pchania mój poślizg płatności na dole strony.
  • Dodawanie sub-raport z obliczoną liczbę pustych wierszy pad z niezbędnej przestrzeni między elementami zamówienia oraz dowodu wpłaty.

zaletą tego podejścia było to, że Mógłbym generować rachunki dla wielu klientów, i od dopełnienia jest częścią grupy, która byłaby dostosowana do rachunku każdego klienta i dolna - uzasadnij odcinek wypłaty dla każdego z nich.

Możesz użyć podobnego podejścia do przekazywania informacji "stopki" na dole strony.Ponieważ nadal znajduje się w grupie danych, będziesz mieć dostęp do wartości danych, które potrzebujesz.

+0

Dzięki za pomysł i dźwięki jak świetne rozwiązanie. Zrobiłem podobne w innym języku programowania, ale nigdy nie myślałem, aby zastosować to tutaj. W czasie postu byłem na początku i niezaznajomiony z takimi technikami w C#/raportowaniu. Zaznaczę jako odpowiedź, ponieważ WIEM, że będzie działać z mojego przeszłego doświadczenia. – DRapp

0

W stopce można odnieść zgłosić element z treści raportu, tak:

=ReportItems!myFooterValueTextBox.Value 

Połów jest to, że można odwołać się do tylko jednego elementu raportu w stopce, więc może trzeba dodać niewidoczny stopka wiersz w tabeli i złączyć wszystkie sumy w jednej komórce (myFooterValueTextBox) w tym wierszu:

=First(Fields!SomeField.Value, "SomeDataSource") + "|" + 
Sum(...) + "|" + .... + 
Last(...) 

użyłem rury jako deliminator w moim przykładzie, więc wtedy w stopce, chciałbym podzielić wartości ciągów i miejsce w odpowiednich kontenerach, takich jak to:

=Split(ReportItems!myFooterValueTextBox.Value,"|")(0)