2012-03-14 19 views
5

Tôi đã có một báo cáo tương tác trong Apex với một số cột. Người dùng có tùy chọn tải xuống báo cáo dưới dạng tệp CSV với chức năng chuẩn.Apex - Báo cáo tương tác - Ẩn cột trong Tải xuống CSV?

Có cách nào để ẩn cột trong khi xuất nhưng hiển thị trên màn hình.

(Nền: một cột là liên kết tùy chỉnh không được xuất vào CSV)

Cảm ơn bạn! Paul

Trả lời

11

Bạn có thể ẩn nó bằng cách đặt một điều kiện trên cột kiểu PL/SQL Biểu hiện và sử dụng sau đây là biểu thức:

NVL(:REQUEST,'EMPTY') NOT IN('CSV','XLS','PDF','XML','RTF','HTMLD') 

Đó sẽ kiểm tra APEX biến ràng buộc "YÊU CẦU", và nếu đó là CSV, XLS, PDF, XML, RTF hoặc HTML thì cột sẽ không được hiển thị! Thông tin

More
Để ngăn chặn một cột hiển thị ký một email, bạn có thể sử dụng như sau:

NVL(wwv_flow.g_widget_action, 'EMPTY') != 'SEND_EMAIL' 
1

Cái này không làm việc cho tôi:

NVL(:REQUEST,'EMPTY') NOT IN('CSV','XLS','PDF','XML','RTF','HTMLD')

Do đó, một cách giải quyết khác có thể là:

instr(nvl(:REQUEST,'~'),'XLS') = 0 and instr(nvl(:REQUEST,'~'),'PDF') = 0 and instr(nvl(:REQUEST,'~'),'HTMLD') = 0

Cùng một logic áp dụng cho csv, rtf, v.v.