web-dev-qa-db-ja.com

Tablix:各ページでヘッダー行を繰り返して機能しない-レポートビルダー3.0

複数のページにまたがる多くの行があるTablixがあります。各ページでTablixプロパティRepeatヘッダー行を設定しましたが、これは機能しません。これはレポートビルダー3.0の既知のバグであることをどこかで読みました。これは本当ですか?そうでない場合、他に行う必要のあることはありますか?

151
Ayrton Senna

使用しているTablix構造によって異なります。たとえば、テーブルには列グループがないため、Reporting Servicesはどのテキストボックスが列ヘッダーであるかを認識せず、RepeatColumnHeadersプロパティをTrueに設定しても機能しません。

代わりに、次のことが必要です。

  1. グループ化ペインで詳細モードを開きます。 (列グループの右側にある矢印をクリックして、詳細モードを選択します。)
    • Screenshot
  2. (列グループではなく)行グループ領域で、Tablixの対応するテキストボックスを強調表示する静的グループをクリックします。左端の列ヘッダーが強調表示されるまで、各静的グループをクリックします。これは通常、リストされている最初の静的グループです。
  3. [プロパティ]ウィンドウで、RepeatOnNewPageプロパティをTrueに設定します。
    • Screenshot
  4. KeepWithGroupプロパティがAfterに設定されていることを確認してください。

KeepWithGroupプロパティは、静的メンバーが固定する必要があるグループを指定します。 Afterに設定されている場合、静的メンバーはグループヘッダーとして機能し、その後または下にグループを保持します。 Beforeに設定すると、静的メンバーはグループの前または上にグループを保持し、グループフッターとして機能します。 Noneに設定されている場合、Reporting Servicesは静的メンバーを配置する場所を決定します。

レポートを表示すると、Tablixの各ページで列ヘッダーが繰り返されます。

これ ビデオは、説明された答えどおりに設定する方法を示しています。

387
Stacia

私は2.0を持っていますが、上記の助けが見つかりました。ただし、静的を選択しても、何らかの理由でセルが強調表示されませんでした。私は次の手順に従いました。

  1. 列グループの下で詳細を選択すると、統計が表示されます
  2. 行グループに表示される静的をクリックします
  3. KeepWithGroupをAfterに、RepeatOnNewPageをtrueに設定します

これで、列ヘッダーが各ページで繰り返されるはずです。

14
parkerw262

この問題を修正した方法は、(表示/コードメニューから)コードビハインドを手動で変更したことです。以下のセクションには、Tablixにある行の数と同じ数の<TablixMember> </TablixMember>のペアが必要です。私の場合、Tablixの行数よりも多くの<TablixMember> </TablixMember>ペアがありました。また、「詳細モード」(「列グループ」の右側)に移動した場合、「行グループ」の背後にある静的行の数は、Tablixの行の数と等しくなります。同等にする方法は、コードを変更することです。

<TablixRowHierarchy>
      <TablixMembers>
        <TablixMember>
          <KeepWithGroup>After</KeepWithGroup>
          <RepeatOnNewPage>true</RepeatOnNewPage>
        </TablixMember>
        <TablixMember>
          <Group Name="Detail" />
        </TablixMember>
      </TablixMembers>
    </TablixRowHierarchy>
8
user3508487

[グループ化]ペインでAdvanced Modeを開きます。 (列グループの右側にある矢印をクリックして、詳細モードを選択します。)

(列グループではなく)行グループ領域で、Tablixの対応するテキストボックスを強調表示する静的グループをクリックします。

左端の列ヘッダーが強調表示されるまで、各静的グループをクリックします。これは通常、リストされている最初の静的グループです。

プロパティグリッドで:

  • KeepWithGroupAfterに設定します
  • 繰り返しヘッダーのRepeatOnNewPageTrueに設定します
  • ヘッダーを表示するためにFixedDataTrueに設定します
8
Elmer

それでも問題が解決しない場合、これを実現する別の方法は、次を実行することです。

  • すべてのテーブルヘッダーテキストをクリアして空のままにします。
  • レポートの「ヘッダー」セクションで、四角形内にテキストボックスを追加します。各テキストボックスは、テーブルの列ヘッダーを表します。
  • この長方形はレポートヘッダーセクションにあるため、すべてのレポートページに表示されます。

ありがとう、スフィアン。

5
Sufian O

私にとってうまくいったのは、新しいレポートをゼロから作成することでした。

これで新しいレポートが機能するようになったので、Visual Studioで2つの.rdlファイルを比較します。これらはXML形式であり、簡単なWindDiffまたは何かが問題の内容を明らかにすることを望んでいます。

最初の外観では、両方のファイルに700行のコードまたはもう少し違いがあり、2つのうち大きい方が障害のあるファイルであることが示されています。 TablixHeaderタグをざっと見ても、明らかなことは何もわかりませんでした。

しかし、私の場合、破損した.rdlファイルでした。これは元々作業レポートからコピーされたもので、再利用されなかったものを削除する過程で、破損する可能性がありました。ただし、この同じプロセスが行われた他のレポートでは、プロパティで正しい設定が行われたときにヘッダーが繰り返される可能性がありました。

お役に立てれば。複雑なレポートがある場合、これは簡単な修正ではありませんが、機能します。

おそらく、既知の適切なXMLファイルを障害のあるファイルと比較することは、良いフォーラム投稿になるでしょう。私は最後にそれを試してみます。

2
user1585204