2012-05-02 33 views
18

yêu cầu của tôi ràng buộc tôi phải có nhiều hàng trong một "Details" ban nhạc duy nhất.Stretch một hàng với tràn dữ liệu trong khi có nhiều hàng trong một ban nhạc duy nhất

Ngay bây giờ tôi đang gặp một trường văn bản tĩnh (được đánh dấu màu) trong cột tận cùng bên trái và ba trường dữ liệu văn bản bên cạnh nó.

Điều tôi muốn trong báo cáo của mình là dải văn bản tĩnh cùng với ba dải sẽ kéo dài chiều cao khi dữ liệu ở một trong ba dải bị tràn, với hàng tiếp theo "đúng" được hiển thị bên dưới hàng được kéo dài. Bởi "đúng" tôi có nghĩa là các yếu tố hàng tiếp theo nên có giá trị "hàng đầu" của họ giống nhau và được hiển thị trong cùng một "hàng".

tôi đã cố gắng thiết lập "Stretch với tràn" cờ để "true" và "Vị trí" thành "phao" nhưng vấn đề là các dữ liệu hàng tiếp theo là không đúng vị trí.

+1

Tôi có câu trả lời với tôi nhưng tôi không thể đăng câu trả lời trong hộp nhận xét này, giới hạn ký tự. Tôi cũng không thể trả lời được. Tôi đã tìm thấy câu trả lời sau 8 giờ hỏi câu hỏi này và StackOverflow không cho phép tôi. Ai đó hỏi một câu hỏi tương tự và tôi sẽ có thể trả lời câu hỏi đó. – Rachcha

+1

Điều ngược lại: bạn không thể trả lời trong vòng 8 giờ đầu tiên. Thử xem sao. – mdahlman

Trả lời

27

Tôi đã tìm thấy câu trả lời. Chìa khóa để giải pháp là nhóm các phần tử bên trong một hàng lại với nhau.

  1. Xóa tất cả nhãn văn bản tĩnh. Sử dụng các trường văn bản thay vào đó, với văn bản trong dấu ngoặc kép. Chúng có thể được nhóm lại với các trường văn bản và trường dữ liệu khác.
  2. Đặt tất cả các trường dữ liệu sau trường văn bản được trích dẫn trong cùng một nhóm với trường văn bản được trích dẫn.
  3. Bây giờ, hãy làm tương tự với tất cả các hàng bạn muốn hiển thị. Nhóm riêng biệt cho hàng riêng lẻ.

Chọn tất cả các yếu tố trong một nhóm, hay, tất cả các yếu tố trong tất cả các gorups và làm điều này:

  • Set "Vị trí" thành "nổi"
  • Set "Stretch Loại" để "Tương đối với đối tượng cao nhất"
  • Chọn hộp kiểm "In khi chi tiết tràn".
  • Chọn hộp kiểm "Kéo dài với tràn".

Đó là tất cả những gì chúng tôi có thể làm để làm mọi thứ "giãn" với nhau.

Bây giờ, ban nhạc sẽ phải căng động với những chi tiết này kéo dài. Chỉ cần đi đến các thuộc tính ban nhạc, đặt Split type thành "Default" và chia nhỏ thành true. Điều này đã làm cho các trick cho tôi.

+0

Tôi đang gặp vấn đề tương tự mà tôi đã đề cập ở đây [link] (http://stackoverflow.com/questions/18599795/jasper-reports-align-dynamic-text-fields-and-their-labels-horizontally). Trong trường hợp của tôi, tôi muốn tạo kiểu cho các nhãn khác nhau, ví dụ: nhãn đậm. Nếu tôi đặt văn bản tĩnh cùng với trường như "Tên:" + F {name} thì làm thế nào tôi có thể định dạng nhãn riêng biệt. Ngoài ra, bạn có thể vui lòng chỉ cho chúng tôi một vài ảnh chụp màn hình về cách bạn thực sự nhóm các phần tử? Cảm ơn – Ali

+1

@Ali, Xin lỗi, anh bạn, tôi không có quyền truy cập Jasper bây giờ, nhưng tôi tin rằng điều này có thể được thực hiện thông qua hộp Thuộc tính. Nó phải rất dễ dàng, ngay cả trong trường hợp của tôi ở đây tôi đã làm cho các nhãn đậm. Tôi đã không đề cập rằng trong các bài viết này vì nó quá dễ dàng và rõ ràng. – Rachcha

3

Trong trường hợp của tôi như bạn đã khuyên không hoạt động. Tôi đã phải sửa đổi giải pháp của bạn một chút - tôi đã tạo ra một khung "" thay vì nhóm các đối tượng và đặt các phần tử được nhóm trước trong khung đó. Tôi đặt positionType = "phao" và stretchType = "Không căng" trong khung, và thiết lập stretchType = "RelativeToTallestObject" cho con các mục của nó - sau đó nó tất cả các công trình.

+0

Cảm ơn câu trả lời. Nếu bạn thêm phiên bản JasperServer của bạn và các chi tiết quan trọng khác thì nó sẽ tốt hơn cho mọi người ở đây. – Rachcha

+0

Tất nhiên: Phiên bản sản phẩm: Jaspersoft iReport Designer 5.5.0; Java: 1,7.0; Java HotSpot (TM) Máy chủ 64-Bit VM 21.0-b17; Hệ thống: Windows 7 ver. 6.1 làm việc trên amd64; Cp1250; pl_PL (ireport); Tôi đoán đó là tất cả ... – murison

4

Trong trường hợp ai đó gặp vấn đề này và câu trả lời ở trên không hiệu quả. Tôi đề nghị kiểm tra phần tử gốc xml của bạn. Nếu thuộc tính sau có thuộc tính sau, hãy xóa thuộc tính sau:

printOrder="Horizontal" 

Sau đó, câu trả lời ở trên sẽ hiệu quả.

Hy vọng tôi sẽ tiết kiệm cho ai đó một ngày để googling những thứ tương tự.

Các vấn đề liên quan