2011-06-22 11 views
9

Làm thế nào chúng ta có thể ẩn các cột động trong báo cáo rdlc trong MVC 2?ẩn các cột động trong báo cáo rdlc

Có thể sử dụng thông số bên ngoài không? Làm cách nào để chúng tôi có thể kiểm soát khả năng hiển thị của các cột trong báo cáo rdlc?

Trả lời

23

Bạn không muốn sử dụng thuộc tính Hidden, bạn thực sự muốn chọn cột, Nhấp chuột phải và chọn Column Visibility. Khi ở đây bạn có thể sử dụng một biểu thức để thiết lập khả năng hiển thị dựa trên một tham số, một cái gì đó như thế này:

= iif(Parameters!column_visible.Value = 1, false, true) 

Hidden không hoạt động trong trường hợp này bởi vì bạn không thực sự áp dụng nó cho một đối tượng như bạn đang khi bạn chọn một cái gì đó giống như một hộp văn bản.

+0

Tôi đang sử dụng biến boolean và không hoạt động – Asif

+0

Nếu bạn sử dụng biểu thức đặc tính của Ẩn và bạn có nhiều cột ở bên phải, khoảng trống sẽ vẫn còn trong giữa. Cảm ơn @MrEdmundo! –

0

Chọn cột. Trong thuộc tính bạn có Hidden. bất động sản. Sau đó, bạn có thể đặt điều kiện, ví dụ: =Parameters!IsColumnHidden.Value.

Nếu bạn muốn thực hiện điều này từ mã C#, tôi sẽ gửi một tham số (như trên) cho báo cáo cho biết nếu cột phải được ẩn.

12

Sau đây là các bước để ẩn cột

1) Thêm một tham số boolean với tên column_visible trong báo cáo của

2) Nhấp chuột phải vào cột mong muốn và chọn Column Visibility.

3) Chọn tùy chọn "Hiển thị hoặc ẩn dựa trên khái niệm"

4) thêm sau công thức

= iif(Parameters!column_visible.Value = "True", false,true) 

5) Thêm đoạn mã sau trong C# tập tin mà bạn đang gán giá trị cho trên thêm tham số

ReportParameter[] parameters = new ReportParameter[1]; 
if (condition) 
{ 
    parameters[0] = new ReportParameter("column_visible", "True"); 
} 
else 
{ 
parameters[0] = new ReportParameter("column_visible", "False"); 
}   
this.reportViewer1.LocalReport.SetParameters(parameters); 
+1

Tại sao bạn sử dụng chuỗi, tại sao không chỉ so sánh các boolean trong câu lệnh iif? Không có cách nào bạn cần C# ở đây. – MrEdmundo