複数のページにまたがる行がたくさんあるTablixがあります。各ページにTablixプロパティRepeatヘッダー行を設定しましたが、これは機能しません。これはReportBuilder3.0の既知のバグであるとどこかで読みました。これは本当ですか?そうでない場合、他に何かする必要がありますか?
6 に答える
使用しているTablix構造によって異なります。たとえば、テーブルには列グループがないため、Reporting Servicesはどのテキストボックスが列ヘッダーであるかを認識せず、RepeatColumnHeadersプロパティをTrueに設定しても機能しません。
代わりに、次のことを行う必要があります。
- [グループ化]ペインで[詳細モード]を開きます。(列グループの右側にある矢印をクリックして、[詳細モード]を選択します。)
- (列グループではなく)[行グループ]領域で、[静的グループ]をクリックします。これにより、タブリックスの対応するテキストボックスが強調表示されます。左端の列ヘッダーが強調表示されるまで、各静的グループをクリックします。これは通常、リストされている最初の静的グループです。
- [プロパティ]ウィンドウで、
RepeatOnNewPage
プロパティをTrueに設定します。 KeepWithGroup
プロパティがに設定されていることを確認してくださいAfter
。
このKeepWithGroup
プロパティは、静的メンバーが固定する必要のあるグループを指定します。に設定するAfter
と、静的メンバーはその後またはその下のグループに固定され、グループヘッダーとして機能します。に設定するBefore
と、静的メンバーはグループの前または上に固定され、グループフッターとして機能します。に設定するとNone
、ReportingServicesは静的メンバーを配置する場所を決定します。
これで、レポートを表示すると、タブリックスの各ページで列ヘッダーが繰り返されます。
このビデオは、説明されている答えとまったく同じように設定する方法を示しています。
私は2.0を持っていて、上記が役立つことがわかりました。ただし、スタティックを選択しても、何らかの理由でセルが強調表示されませんでした。私はこれらの手順に従いました:
- 列グループの下で詳細を選択すると、統計が表示されます
- 行グループに表示される静的をクリックします
- KeepWithGroupをAfterに設定し、RepeatOnNewPageをtrueに設定します
これで、列ヘッダーが各ページで繰り返されるはずです。
この問題を修正した方法は、([表示/コード]メニューから)コードビハインドを手動で変更したことです。<TablixMember> </TablixMember>
以下のセクションには、タブリックスの行数と同じ数のペアが含まれている必要があります。私の場合<TablixMember> </TablixMember>
、タブリックスの行数よりも多くのペアがありました。また、「詳細モード」(「列グループ」の右側)に移動する場合、「行グループ」の背後にある静的な行の数は、タブリックスの行の数と同じである必要があります。それを等しくする方法は、コードを変更することです。
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
<RepeatOnNewPage>true</RepeatOnNewPage>
</TablixMember>
<TablixMember>
<Group Name="Detail" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
[Advanced Mode
グループ化]ペインで開きます。(列グループの右側にある矢印をクリックして、[詳細モード]を選択します。)
(列グループではなく)[行グループ]領域で、[静的グループ]をクリックします。これにより、タブリックスの対応するテキストボックスが強調表示されます。
左端の列ヘッダーが強調表示されるまで、各静的グループをクリックします。これは通常、リストされている最初の静的グループです。
プロパティグリッド内:
KeepWithGroup
に設定After
- ヘッダーを繰り返すために
RepeatOnNewPage
に設定True
- ヘッダーを表示したまま
FixedData
にするために設定True
それでも問題が解決しない場合にこれを実現する別の方法は、次のようにすることです。
- すべてのテーブルヘッダーテキストをクリアし、空のままにします。
- レポートの「ヘッダー」セクションで、長方形の内側にテキストボックスを追加します。各テキストボックスは、テーブルの列ヘッダーを表します。
- この長方形は[レポートヘッダー]セクションにあるため、すべてのレポートページに表示されます。
ありがとう、スーフィアン。
私にとってうまくいったのは、新しいレポートを最初から作成することでした。
これが完了し、新しいレポートが機能するので、VisualStudioで2つの.rdlファイルを比較します。これらはXML形式であり、WindDiffなどで問題が何であるかが明らかになることを期待しています。
最初の外観では、700行のコードがあるか、両方のファイル間にもう少し違いがあり、2つのうち大きい方が障害のあるファイルであることが示されています。TablixHeaderタグをざっと見ても、明らかなことは何もわかりませんでした。
しかし、私の場合、それは破損した.rdlファイルでした。これは元々作業レポートからコピーされたものであるため、再利用されなかったものを削除する過程で、これにより破損した可能性があります。ただし、これと同じプロセスが実行された他のレポートでは、プロパティで正しい設定が行われたときにヘッダーが繰り返される可能性があります。
お役に立てれば。複雑なレポートがある場合、これは簡単な修正ではありませんが、機能します。
おそらく、既知の良好なXMLファイルをあなたの側の欠陥のあるファイルと比較することは、良いフォーラム投稿になるでしょう。私は自分の側でそれを試みます。