Guys, I'm not sure if the Print option is techinically enabled for the module (its part of the definition). Just a few notes though. First - the easiest way of getting a printable UI is to change the response Output type (ACTION

UTPUT). This way the content will be delivered in standalone format. If you choose to do this, it is very important to verify the exact sources of your CSS. Because CSS will only be embedded if the URL is explicit (including the full http:\\ and domain name) when working with a copy of the content, you either need to manually include the CSS, or you can go through the process of creating inline STYLE tags to suffice.
Just on a side, because we have historically dodged the idea of using the Container logic to print - because there are many instances where one report is made up of multiple listX modules, we use a bit of logic in the skin to print the ENTIRE content pane. We do this by popping open a new window, which we then push all the content into, and then fire off the print request from there. The benefit? We can print the entire content pane, as well as include the CSS files manually within the content - all without doing anything special for any module. (Mostly because those silly print buttons all over the place looks bad).
Alright - so - Kevin.. How do we do that?
Here you go!
First - Create A file in the root of your website - called Report.html - with the following content:
------------------------------------------------------------
<HTML>
<HEAD>
<TITLE></TITLE>
<LINK id="_SL_Portals_0_" rel="stylesheet" type="text/css" href="/cgi-bin/Portals/0/portal.css"></LINK>
</HEAD>
<BODY BOTTOMMARGIN="0" LEFTMARGIN="0" TOPMARGIN="0" RIGHTMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0">
<DIV id="TARGETDIV" name="TARGETDIV">
<!--CONTENTS OF REPORT GO HERE-->
</DIV>
</BODY>
</HTML>
------------------------------------------------------------
Next, you need to add the following script to your Skin (or to your page, depending on what you want to do. We always place this in the
------------------------------------------------------------
<script language=javascript>
var srcvalue = '';
var counter = 0;
var timer;
function printcontent(panename)
{
if (panename==null||panename=='')
panename = 'ContentPane'
myRef = window.open('/report.html','mywin','left=20,top=20,width=700,height=700,toolbar=1,resizable=1,scrollbars=yes');
srcvalue = document.getElementById('dnn_' + panename).innerHTML;
counter = 10;
waitfortarget();
}
function waitfortarget() {
counter--;
if (!myRef.document.getElementById('TARGETDIV'))
{
//DO NOTHING
if (counter > 0)
{
timer=setTimeout("waitfortarget()", 1000);
}
else
{
alert('Unable to load report. Please try again later.');
}
}
else
{
donetarget();
}
}
function donetarget()
{
myRef.document.getElementById('TARGETDIV').innerHTML = srcvalue;
myRef.print();
}
</script>
------------------------------------------------------------
Okay - so how do you print? All you need to do is execute the printcontent function - optionally specifying the name of the source pane.
<a href="javascript:printcontent('ContentPane');">Print</a>