RDLC Footer ist leer

4. April 2014 19:09

Hey Leute,

Ich habe mal wieder ein Problem bei einem RDLC-Report..
Und zwar werden mir im Footer keine Werte agezeigt.
Die Tabelle mit den Werten im Textkörper ist innerhalb Liste, ich rufe diese Tabelle auch im Header auf und trotzdem bekomme ich keine Werte angezeigt.
Die Werte sind Teils Dezimal und Teils Text.
Diese Werte sind im dataset zu sehen.
Screen.png


Ich steuere keine Hidden Eigenschaften in den textboxen.
Achja und im Header werden alle Werte einwandfrei angezeigt..
Das ist ja das was mich so verwirrt, denn ich benutze ja die selbe Funktion für Header und Footer. :?:

Ich hoffe ihr könnt mir helfen.
MfG
Ben
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: RDLC Footer ist leer

4. April 2014 22:00

Nummerische Werte (wie z.B. Decimals) musst du zunächst in Text umwandeln:
viewtopic.php?p=92264#p92264

Re: RDLC Footer ist leer

5. April 2014 18:02

Müssten dann nicht aber wenigstens die Nicht-Numerischen Werte ordentlich angezeigt werden?

Re: RDLC Footer ist leer

5. April 2014 18:08

b.denger hat geschrieben:Müssten dann nicht aber wenigstens die Nicht-Numerischen Werte ordentlich angezeigt werden?
Nein. Ist nur eine Nummer dabei, ist dein gesamtes (verstecktes) Textfeld im Textkörper nicht mehr lesbar, daher erscheint der gesamte Footer leer.

Re: RDLC Footer ist leer

5. April 2014 23:38

Daran scheint es leider nicht zu liegen..
Selbst wenn ich die Textbox nochmal komplett entferne und testweise nur einen Text-Wert einfüge, bleibt der dennoch Footer leer.
Ich habe auch ein Text-Wert aus einer funktionierenden Hidden-Textbox(die den Header bildet) herausgenommen und in die andere Hidden-Textbox getan.
Ergebnis: Der Text-wert wird im Header und auch im Footer angezeigt.

Re: RDLC Footer ist leer

6. April 2014 17:45

Generell zu Footern:
Wie erkläre ich es am einfachsten ... Stell dir vor, der Footer ist eigentlich der Header, er befindet sich nur weiter unten. Warum schreibe ich so eine Banalität?
Weil diese Annahme folgende Konsequenzen nach sich zieht:
  • Würdest du für den RDLC-Header Textboxen in eine Footer-Section (ich meine wirklich CC-Footer-Secion) packen? Genauso wenig darfst du das für die Footer-Felder tun. Packe die Textboxen in die Header- oder Body-Section des Header-DataItems(!).
  • Auch der RDLC-Footer benötigt eine Textbox ganz oben links mit SetData.
  • Zuletzt - aber das wusstest du ja schon - benötigst du noch im Textkörper ein verstecktes Tabellenfeld innerhalb einer gruppierten Liste. Um sicher zu fahren, nimm die Tabelle, die du schon erfolgreich für den Header benutzt hast, und füge ihr nur eine Spalte hinzu.

Speziell zu deinem Footer, bezogen auf deinen ersten Screenshot: Versuchst du, Zwischensummen im Footer auszugeben? Hierfür musst du ganz besondere Regeln beachten: viewtopic.php?f=40&t=20294 (Schritt für Schritt: siehe dort ganz unten).

Re: RDLC Footer ist leer

10. April 2014 17:05

habe ich das jetzt richtig verstanden,
ich soll eine der SetData()-Textboxen aus dem Header,
Header.png

die das Tabellenfeld mit den Footer-werten aufruft, in den Footer verschieben? Das wäre eine ziemlich neue Erkenntnis für mich...
Footer.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: RDLC Footer ist leer

10. April 2014 18:26

Genau richtig. Und diese Footer-Textbox muss sich außerdem höher befinden als die höchste Textbox im Footer, die die Daten andrucken soll. Hierzu reicht schon schon ein halber Millimeter Unterschied, welchen du über die Eigenschaften pflegen kannst.

Re: RDLC Footer ist leer

11. April 2014 10:32

Mir fällt gerade ein, dass ich dir eine wahrscheinlich wichtige Information vorenthalten habe...

Da ich ja mit dem Upgrade Tool von Yaveon arbeite, wird auch der Get/-Set-Data Code automatisch erzeugt..
dieser lautet wie folgt:
Code:
public Function [b]GetData[/b](ByVal piKey as String) as Object

  if hashTable.ContainsKey(piKey) then

    Return hashTable(piKey)

  else

    return ""

  end if

end function



Shared hashTable as new System.Collections.HashTable


public Function [b]SetHeaderData[/b](ByVal piData as Object)


  dim parts as Array

  dim i as integer

  dim caption as string

  dim value as string


  IF CStr(piData) = "" THEN

    EXIT FUNCTION

  END IF


  parts = Split(Cstr(piData),Chr(177))


  i =  0

  do while (i <= ubound(parts))

    caption = parts(i)

    value = ""

    i = i + 1

    if i <= ubound(parts) then

      value = parts(i)

    end if

 

    if hashTable.contains(caption) then

      hashTable.remove(caption)

    end if

    hashTable.Add(caption, value)

    i = i + 1

  loop
End Function



Ich rufe in meinen Textboxen also die Werte nicht mit Code.GetData(1,2) ab, sondern mit Code.GetData("Fields!Textbox.Value")

Meine hiddenfelder sehen so aus:
Hiddentextb.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: RDLC Footer ist leer

11. April 2014 12:41

b.denger hat geschrieben:Mir fällt gerade ein, dass ich dir eine wahrscheinlich wichtige Information vorenthalten habe...

Allerdings!!! :-P

Bitte kopiere dir GetData und SetData aus den Standardberichten, z.B. 205. Damit fährst du immer sicher.
Wenn du dort außerdem mal vergleichst, was im versteckten Feld drinsteht, findest du dort kein First(...). Ich bin mir nicht 100%ig sicher, dass dies in deinem Fall ein Knackpunkt ist, aber im Zweifel bitte immer an die Standardreports halten.

Re: RDLC Footer ist leer

17. April 2014 16:58

Ich habe die Lösung für das Problem zwar noch nicht gefunden, aber ich habe den Footer entfernt und die Fußdaten in den Textkörper verschoben...
Die werte werden mir jetzt auch richtig Angezeigt..