it-swarm.com.de

SSRS-Tablix-Spalte CanGrow-Eigenschaft für Breite?

Ich arbeite an einem Tablix in SSRS 2008 und möchte, dass meine Spalten automatisch (nur Breite) an ihrem Inhalt angepasst werden. CanGrow beeinflusst nur die Höhe. Gibt es eine Eigenschaft, die mir fehlt, oder eine Möglichkeit, die Säulen anderweitig zu manipulieren, um dies zu tun?

24
John Straka

Ich habe versucht, dies selbst zu tun (Klientenseite), ohne Erfolg. Es gibt keine Eigenschaft, die die Spaltenbreite automatisch ändert.

Sehen Sie sich diese Problemumgehung an: http://blog.sharepointalist.com/2009/05/ssrs-column-width-auto-size.html (Ich habe es nicht getestet)

Die beste Problemumgehung, die ich für clientseitige Berichte gefunden habe, wäre, die Spaltenbreite im Code festzulegen oder mehrere Spalten zu verwenden und sie basierend auf der Zeichenfolgenlängenbedingung anzuzeigen/auszublenden.

Beispiel: Spalte mit dem Namen AccNum2:

report.DetailSection1.ReportObjects.Item("AccNum2").width = 200

Weitere Informationen und andere Ideen finden Sie in diesem Thread: http://social.msdn.Microsoft.com/forums/en-US/sqlreportingservices/thread/9e6043f1-c458-4540-be59-d37b02feab8a/

6
surfen

Wie hier erwähnt - können Sie dieses Problem ganz einfach beheben, indem Sie eine Zeile in Ihr Tablix einfügen und ein Diagramm in die entsprechende Spalte einfügen.

Ändern Sie dann seine DynamicWidth in einen Ausdruck wie die folgende =iif(True, "4cm", "2cm") und seine DynamicHeight in "0cm".

 Chart on tablix to adjust column width

2
johnecon

Die Lösung von SHOWKATH VALLI hat für mich am besten funktioniert. Eine absolut geniale Idee!

So habe ich es umgesetzt:

  1. Erstellen Sie eine zusätzliche Spalte rechts von der Spalte, die Sie erweitern möchten
  2. Verbinden Sie die Zellen 
  3. Klicken Sie auf die Spaltensichtbarkeit Ihrer neuen Spalte.
  4. Ausblenden/Anzeigen basierend auf einer Berechnung oder in meinem Fall einem Wert in meiner select-Anweisung, dass dies eine breite Spalte ist.

Hier ist der Ausdruck, den ich erstellt habe: = IIF (Felder! Static1Wide.Value = 0, True, False)

1
SQLBaggers

Ich bin mit einer Tabelle mit E-Mail-Adressen umgegangen, indem ich einen Ausdruck für das Feld "EMAIL" verwende:

 =Replace(Fields!EMAIL.Value, "@", System.Environment.NewLine & "@")

Sie könnten etwas ähnliches tun, wenn Sie es nach 15 Zeichen benötigen (fügen Sie den System.Environment.NewLine-Code nach jeweils 15 Zeichen ein).

0
Shell D

wir können die Breite dynamisch ändern. Befolgen Sie die nachstehenden Schritte

schritt 1: Fügen Sie eine weitere Spalte hinzu

schritt 2: Fügen Sie die hinzugefügten Spalten mit den ursprünglichen zusammen

schritt 3: Fügen Sie den Sichtbarkeitsausdruck für Spalten für zusätzliche Spalten hinzu, je nach Anforderung

immer noch nicht erhalten sie dann beigefügtes bild

0
SHOWKATH VALLI

Dies ist möglicherweise nicht die Antwort, die Sie suchen, aber wenn Sie die Breite für mehrere hundert Spalten gleichzeitig anpassen müssen, macht das keinen Spaß und dieser kleine Hack spart Zeit.

  1. Erstellen Sie Ihren Bericht über den Bericht Wizard und fügen Sie alle benötigten Spalten in Ihrem Bericht hinzu. Dadurch haben Sie Ihr Tablix erstellt! Spart viel Zeit, da Sie alle Spalten gleichzeitig auswählen können.
  2. Klicken Sie anschließend mit der rechten Maustaste auf die Rrdl-Datei unter Projektmappen-Explorer> Berichte
  3. Wählen Sie "<> Code anzeigen".
  4. Suchen Sie nach 1in xml-Tag. Standardmäßig ist 1 Zoll breit. Sie können 1in durch 2in für alle Spalten ersetzen!
  5. Führen Sie schließlich Ihren Bericht aus und prüfen Sie, ob Sie für Spalten, die nicht in Ihr 2-Zoll-Konzept passen, Anpassungen vornehmen müssen.

Probieren Sie diese Methode aus. Wenn Sie etwas Besseres oder Verbesserungen finden, lassen Sie es mich wissen!

0
NonProgrammer