2010-07-30 74 views
9

我在想如何計算SSRS tablix中的行高度。如何計算SSRS tablix中的行高?

例如,我有顯示並按列分組的數據足夠接近以便相同的數據。但是,由於某些未知原因,某些行會有很大的空白空間。如果您檢查HTML輸出,您可以看到這些行應用了rowspanheight

這不是一個包裝問題,因爲我可以在該行的商品ID做一個IIf並只顯示"a"而不是實際值和仍然得到異常高。我還在所有文本框/行等上禁用了CanGrow,並設置了手動高度,但問題仍然存在。

是什麼導致了這種行爲,以及行高度通常如何計算?

+0

什麼是你正在運行SQL Server的確切版本? – 2010-08-04 18:23:20

+0

只是好奇......它如何顯示在WindowsForms報表查看器中?或者,如何以PDF格式導出時顯示? 還檢查你沒有把一些綁定到任何屬性以外的其他屬性(看看RDL)報告允許綁定報告的許多方面,而不僅僅是你看到的值... – MikeG 2010-08-04 23:06:58

+0

最後回答抱歉 - @alison - 2008,@MikeG - 同樣的問題,看不到任何其他綁定。 – 2010-08-08 23:59:54

回答

6

有一對夫婦的可能性,是怎麼回事上:

  1. SQL Server 2008(完全修補)有一個錯誤,填充ca n有時會被添加用於某些數據類型。請參閱this page瞭解更多詳情。該鏈接並沒有完全覆蓋您的問題,但來自Microsoft的支持人員確實聲稱它是一個錯誤,並且很可能延伸到您的問題。據說,升級到SQL Server 2008 R2可以解決這個問題。
  2. 假設你不打算升級SQL Server中,有幾件事情對你的檢查:
    • 確保行的高度沒有被設置爲一個高度比默認小。保持高度至少與默認值一樣大。
    • 調整填充設置,使頂部和底部填充設置爲零(如其他人所述)Padding:2,2,0,0
    • 請看this page for a more in-depth description。文章已經過了幾年了,但信息可能仍然適用。
+0

是的。我已經看到了與我之前的回答相同的錯誤。 – 2010-08-08 00:38:03

+0

這是這裏最全面的答案。它應該有希望幫助別人。我發現在重新創建了很多Tablix並改變了分組性質之後,*看起來會消失(儘管數據可能不同)。但是,我仍然不確定爲什麼和rdl似乎沒有透露任何關鍵。提議的解決方案雖然都受到讚賞。 – 2010-08-09 00:03:20

+0

+1用於刪除填充。我以爲我試過了所有的東西......現在回想起來似乎很明顯。 :P – 2018-02-08 14:53:06

1

要檢查的一件事是數據類型。較老的數據類型有填充添加到它們。較新的(varchar,nvarchar等)會更好,如果這是發生了什麼。

+0

它們都是變化的,但只有一個變化列導致填充。儘管如此感謝您仍然感激您的幫助! – 2010-08-09 00:01:21

4

嘗試爲您的行設置以下屬性,看看它是否有幫助。

  • 填充:2點,2點,0pt,0pt
  • VerticalAlign:中東
  • 可以擴大:假
  • 可以縮小:假
+0

謝謝我試過這些(這似乎是一個普遍的答案),但沒有運氣。儘管如此,仍然讚賞。 – 2010-08-09 00:00:46

+1

對我來說,罪魁禍首是CanGrow被設置爲true。感謝您的回答!這讓我瘋狂。 – TWood 2012-03-23 20:42:15

1

這很棘手。迄今爲止所有的答案都是正確的,但是他們沒有提到可以導致開發人員假設行高不能調整的一件事。 回顧...

  • 突出顯示您要更改高度的Tablix Row。
  • 更改行屬性CanGrow = False,CanShrink = True
  • 對Padding的更改指的是單元格內的上方(上方)和下方(下方)空間。
  • 下面是一件新事:如果您的tablix與另一個控件相鄰,它將鎖定到該控件的高度,而不是讓您用行頭向上/向下箭頭縮小該行。因此,您需要將整個tablix拖動到某個開放的空白區域,而不需要與其相鄰的其他控件。然後行高不會鎖定,您可以將其放置在您需要的位置,並保持放置狀態。然後你小心地將Tablix移回它的永久位置。

這是對相鄰控件的鎖定,導致開發人員得出結論說高度無法調整。

0

我發現了另外一件事要考慮。當您選擇一個想要分組的長字段,然後縮小水平尺寸時,該字段將垂直顯示。如果一個字段長度超出了您爲該組的總垂直長度設置的大小,那麼最後一行將增加以補償。圖像的左側顯示了最後一行的額外空間。一旦我將字段長度調整到小於組的總高度,那麼最後一行顯示爲正常。 lengths of rows image

0

GOT巨大的問題顯示/隱藏行和CanShrink/CanGrow沒有工作,所以我發現有一個「行可見性」表達式,顯示/隱藏整行取決於文本框的值。

(右鍵單擊tablixrow,然後選擇 「行可見性」) Show/Hide row visibility

乾杯