web-dev-qa-db-ja.com

SSRS Tablix列の幅のCanGrowプロパティ?

SSRS 2008でTablixに取り組んでおり、列のコンテンツのサイズを自動調整(幅のみ)したい。 CanGrowは高さのみに影響します。私が欠落しているプロパティ、またはこれを行うために列をリグする方法はありますか?

24
John Straka

私はそれを自分で(クライアント側で)やろうとして成功していませんでした。列幅を自動サイズ調整するプロパティはありません。

この回避策を確認してください: http://blog.sharepointalist.com/2009/05/ssrs-column-width-auto-size.html (テストしていません)

クライアント側のレポートで見つけた最善の回避策は、コードで列の幅を設定するか、複数の列を使用して、文字列の長さの条件に基づいて列を表示/非表示にすることです。

たとえば、AccNum2という名前の列:

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

詳細およびその他のアイデアについては、このスレッドを参照してください: http://social.msdn.Microsoft.com/forums/en-US/sqlreportingservices/thread/9e6043f1-c458-4540-be59-d37b02feab8a/

6
surfen

here で述べたように、この問題を簡単に修正するには、Tablixに行を追加し、対応する列にグラフを挿入します。

次に、そのDynamicWidthを次の=iif(True, "4cm", "2cm")のような式に変更し、そのDynamicHeight "0cm"

Chart on tablix to adjust column width

2
johnecon

SHOWKATH VALLI からの解決策は私にとって最もうまくいきました。 絶対的な天才のアイデア!

これは私がそれを実装した方法です:

  1. 拡大する必要がある列の右側に追加の列を作成します
  2. セルを結合する
  3. 新しい列の列の可視性をクリックします。
  4. 計算に基づいて非表示/表示するか、私の場合は、これが幅の広い列であることを示すselectステートメントの値。

作成した式は次のとおりです。= IIF(Fields!Static1Wide.Value = 0、True、False)

1
SQLBaggers

「EMAIL」フィールドの式を使用して、電子メールアドレスを含むテーブルでこれを回避しました。

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

たとえば、15文字(たとえば、15文字ごとにSystem.Environment.NewLineコードを挿入)の後に必要な場合は、同様のことができます。

0
Shell D

幅を動的に変更できます。以下の手順に従ってください

ステップ1:もう1列追加

step2:追加した列を元の列とマージします

step3:要件に基づいて追加の列の列可視性式を追加します

それでもあなたが取得していない場合は、添付の画像を参照してください

0
SHOWKATH VALLI

これはあなたが探している答えではないかもしれませんが、一度に数百の列の幅を調整しなければならないのは面白くなく、この小さなハックは時間を節約します。

  1. Report Wizardを使用してレポートを作成し、レポートに必要なすべての列を追加します。これによりTablixが作成されます!すべての列を一度に選択できるため、時間を大幅に節約できます。
  2. 次に、[ソリューションエクスプローラー]> [レポート]セクションで.rdlファイルを右クリックします。
  3. 「<>コードの表示」を選択します
  4. 1in xmlタグを探します。デフォルトでは1インチ幅です。すべての列で1inを2inに置き換えることができます!
  5. 最後に、レポートを実行して、2インチの概念に適合しない列を調整する必要があるかどうかを確認します。

このメソッドを試してみてください。何かもっと良い点や改善点を見つけたら、教えてください!

0
NonProgrammer