Tablix: Lặp lại các hàng tiêu đề trên mỗi trang không hoạt động - Trình tạo báo cáo 3.0


163

Tôi có một tablix với rất nhiều hàng trải dài trên nhiều trang. Tôi đã đặt thuộc tính Tablix Lặp lại các hàng tiêu đề trên mỗi trang nhưng điều này không hoạt động. Tôi đã đọc ở đâu đó rằng đây là một lỗi đã biết trong Báo cáo Builder 3.0. Điều này có đúng không? Nếu không, có điều gì khác cần phải được thực hiện?

Câu trả lời:


426

Nó phụ thuộc vào cấu trúc tablix bạn đang sử dụng. Ví dụ, trong một bảng, bạn không có các nhóm cột, vì vậy Dịch vụ báo cáo không nhận ra hộp văn bản nào là tiêu đề cột và đặt thuộc tính Lặp lại thành True không hoạt động.

Thay vào đó, bạn cần phải:

  1. Mở Chế độ nâng cao trong khung Groupings. (Nhấp vào mũi tên ở bên phải của Nhóm Cột và chọn Chế độ nâng cao.)
    • Ảnh chụp màn hình
  2. Trong khu vực Nhóm Hàng (không phải Nhóm Cột), nhấp vào nhóm Tĩnh, làm nổi bật hộp văn bản tương ứng trong tablix. Nhấp qua từng nhóm Tĩnh cho đến khi nó làm nổi bật tiêu đề cột ngoài cùng bên trái. Đây thường là nhóm tĩnh đầu tiên được liệt kê.
  3. Trong cửa sổ Thuộc tính, đặt thuộc RepeatOnNewPagetính thành True.
    • Ảnh chụp màn hình
  4. Hãy chắc chắn rằng KeepWithGrouptài sản được đặt thành After.

Các KeepWithGroupquy định cụ thể tài sản mà nhóm mà nhu cầu thành viên tĩnh để dính. Nếu được đặt thành Afterthì thành viên tĩnh sẽ gắn với nhóm sau nó hoặc bên dưới nó, hoạt động như một tiêu đề nhóm. Nếu được đặt thành Before, thì thành viên tĩnh sẽ gắn với nhóm trước hoặc trên nó, đóng vai trò là chân trang nhóm. Nếu được đặt thành None, Dịch vụ báo cáo sẽ quyết định nơi đặt thành viên tĩnh.

Bây giờ khi bạn xem báo cáo, các tiêu đề cột lặp lại trên mỗi trang của tablix.

Video này cho thấy cách đặt chính xác như câu trả lời được mô tả.


1
Stacia, khi tôi chọn KeepWithgroup và cố gắng lưu, tôi nhận được "Tablix 'Chi tiếtTixix' có TablixMember không hợp lệ. Tất cả các thành phần TablixMember trong TablixColumnHVELy ​​phải có thuộc tính Lặp lại được đặt thành sai." Có ý kiến ​​gì không?
psychboom

24
Tôi tìm ra vấn đề của mình. Câu trả lời của bạn là hoàn toàn chính xác, đó chỉ là một điều khó khăn để làm cho đúng. Lưu ý rằng Stacia nói sẽ thay đổi khu vực Nhóm ROW khi đặt thuộc tính Lặp lại. Mọi thứ khác về giải pháp này đều xử lý các cột, nhưng bạn cần chọn các nhóm Hàng (bên trái), không phải các nhóm Cột (bên phải), ngay cả khi bạn bắt đầu bằng cách nhấp vào thả xuống trong Cột. Cảm ơn Stacia, rực rỡ.
psychboom

5
+1 - Tôi vừa đọc xong khoảng một chục hướng dẫn về vấn đề này trên internet và đây là giải pháp trực tiếp nhất cho vấn đề - bạn cũng giải thích TẠI SAO các vấn đề tùy chọn, thật tuyệt vời. Cảm ơn!
JNK

3
video này cho thấy cách đặt chính xác như câu trả lời được mô tả: youtube.com/watch?v=WAO819-gkKw
cơm tôm

8
KeepWithgroup = Sau là chìa khóa cho tôi. Giống như quá nhiều thứ của Microsoft, đây là một thủ thuật không rõ ràng cần thiết để làm cho một tính năng hoạt động. Cảm ơn bạn!
leqid

17

Tôi có 2.0 và tìm thấy ở trên để giúp đỡ; tuy nhiên, việc chọn tĩnh không làm nổi bật ô vì một số lý do. Tôi đã làm theo các bước sau:

  1. Trong các nhóm cột chọn nâng cao và số liệu thống kê sẽ hiển thị
  2. Nhấp vào tĩnh hiển thị trong các nhóm hàng
  3. Đặt KeepWithgroup thành After và repeatOnNewPage thành true

Bây giờ tiêu đề cột của bạn nên lặp lại trên mỗi trang.


Điều này hoạt động hoàn hảo .... đơn giản hơn nhiều so với câu trả lời trên mà không làm việc cho tôi.
R_Avery_17

Thật không may, điều này khiến tôi bắt đầu nhận được các trang trống một lần nữa.
Mike

10

Cách khắc phục sự cố này là tôi đã tự thay đổi mã phía sau (từ menu Xem / mã). Phần bên dưới sẽ có số lượng cặp nhiều <TablixMember> </TablixMember>như số lượng hàng trong tablix. Trong trường hợp của tôi, tôi có nhiều cặp <TablixMember> </TablixMember>hơn số lượng hàng trong tablix. Ngoài ra, nếu bạn đi đến "Chế độ nâng cao" (ở bên phải của "Nhóm cột"), số lượng dòng tĩnh phía sau "Nhóm hàng" phải bằng số lượng hàng trong tablix. Cách để làm cho nó bằng nhau là thay đổi mã.

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

Tôi ngạc nhiên, làm điều này giải quyết vấn đề. Tôi đã có một tablix w / 6 hàng (3 hàng tiêu đề cộng với một nhóm w / một tiêu đề, chi tiết và hàng chân trang). Nhìn vào nguồn cho thấy 6 <TablixRow> s nhưng 7 <TablixMember> s trong <TablixRowHVELy>. Tôi đã đoán đúng nhất là phần phụ (một phần bao bọc nhóm) và loại bỏ nó. Phiên bản này không thể kết xuất, nhưng thông báo lỗi chỉ ra rằng một hàng cần phải có cài đặt <Lặp lại ...> và <KeepWith ...> để thay đổi để khớp với các cài đặt trước đó; Tôi đã thay đổi chúng thành "true" và "After" ở hàng thứ 3 (Tĩnh) và voila! Tôi ước tôi thực sự hiểu;)!
GISmatters

Cảm ơn vì điều đó. Tôi đã sử dụng SSRS hơn 10 năm nay và mới gặp phải vấn đề này - thực sự, có thêm một trình bao bọc TablixMember xung quanh nhóm (không nghi ngờ gì từ các thử nghiệm với việc thêm và xóa nhóm). Làm sạch danh sách thành viên đã giải quyết tiêu đề không lặp lại bí ẩn.
Carl Daniel

Cảm ơn tôi đã phải xóa hai hàng TablixMember thừa đã được nhóm và không có dữ liệu. Dấu hiệu này cho tôi trong báo cáo của tôi là có hai nhóm hàng tĩnh thay vì một nhóm. Khi tôi loại bỏ XML thừa, các hàng lặp lại bắt đầu hoạt động.
Noppadet

1
Cảm ơn bạn. Chỉ có giải pháp này làm việc cho báo cáo của tôi, nơi tôi đang đối mặt với vấn đề tương tự.
Syed

rõ ràng là cài đặt thích hợp bị thiếu trong Visual Studio. Vì vậy, các cài đặt nâng cao Các mẹo được đề cập đến ReportBuilder không giúp ích được gì. Chỉnh sửa thủ công các tập tin làm việc như một nét duyên dáng. Cảm ơn!
MovGP0

9

Mở Advanced Modetrong khung Groupings. (Nhấp vào mũi tên ở bên phải của Nhóm Cột và chọn Chế độ nâng cao.)

Trong khu vực Nhóm Hàng (không phải Nhóm Cột), nhấp vào nhóm Tĩnh, làm nổi bật hộp văn bản tương ứng trong tablix.

Nhấp qua từng nhóm Tĩnh cho đến khi nó làm nổi bật tiêu đề cột ngoài cùng bên trái. Đây thường là nhóm tĩnh đầu tiên được liệt kê.

Trong lưới thuộc tính:

  • đặt KeepWithGroupthànhAfter
  • được đặt thành RepeatOnNewPageđể Truelặp lại tiêu đề
  • được đặt thành FixedDatađể Truegiữ cho các tiêu đề hiển thị

5

Một cách khác để thực hiện điều này nếu bạn vẫn gặp phải vấn đề đó là thực hiện như sau:

  • Xóa tất cả văn bản tiêu đề Bảng để trống.
  • Trên phần Báo cáo Tiêu đề, thêm các hộp văn bản bên trong một hình chữ nhật, mỗi hộp văn bản sẽ đại diện cho một tiêu đề cột cho bảng.
  • Vì hình chữ nhật này nằm trong phần Tiêu đề báo cáo, nó sẽ hiển thị trên tất cả các trang báo cáo.

Cảm ơn, Sufian.


2

Điều làm việc cho tôi là tạo ra một báo cáo mới từ đầu.

Điều này được thực hiện và báo cáo mới hoạt động, tôi sẽ so sánh các tệp 2 .rdl trong Visual Studio. Chúng ở định dạng XML và tôi hy vọng một WindDiff nhanh chóng hoặc một cái gì đó sẽ tiết lộ vấn đề là gì.

Một cái nhìn ban đầu cho thấy có 700 dòng mã hoặc khác biệt hơn một chút giữa cả hai tệp, trong đó lớn hơn 2 là tệp bị lỗi. Một cái nhìn khó hiểu về các thẻ TablixHeader không tiết lộ bất cứ điều gì rõ ràng.

Nhưng trong trường hợp của tôi, nó là một tập tin .rdl bị hỏng. Điều này ban đầu được sao chép từ một báo cáo làm việc vì vậy trong quá trình loại bỏ những gì không được sử dụng lại, điều này có thể đã làm hỏng nó. Tuy nhiên, các báo cáo khác có quy trình tương tự được thực hiện, các tiêu đề có thể lặp lại khi cài đặt chính xác được thực hiện trong Thuộc tính.

Hi vọng điêu nay co ich. Nếu bạn có một báo cáo phức tạp, đây không phải là cách khắc phục nhanh nhưng nó hoạt động.

Có lẽ so sánh các tệp XML tốt đã biết với các tệp bị lỗi ở cuối của bạn sẽ tạo ra một bài đăng diễn đàn tốt. Tôi sẽ cố gắng vào cuối của tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.