This is a migrated thread and some comments may be shown as answers.

RadCalendar to Print

1 Answer 76 Views
Calendar
This is a migrated thread and some comments may be shown as answers.
Amit
Top achievements
Rank 1
Amit asked on 02 Jan 2013, 12:56 PM
Hello,

I need print functionality in RadCalendar 
How do I achieve this?

Regards,
Amit

1 Answer, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 02 Jan 2013, 01:03 PM
Hi,

Try the following code snippet to achieve your scenario.

ASPX:
<asp:LinkButton ID="LinkButton1" runat="server" type="button" Text="[ Print Calendar ]" OnClientClick="PrintRadCalendar(); return false;" Font-Underline="false" ForeColor="Black" />
<telerik:RadCalendar ID="RadCalendar1" runat="server" Skin="Simple" MultiViewColumns="2" Style="margin-left: auto; margin-right: auto" MultiViewRows="2">
</telerik:RadCalendar>

JS:
<script type="text/javascript">
    function getOuterHTML(obj) {
        if (typeof (obj.outerHTML) == "undefined") {
            var divWrapper = document.createElement("div");
            var copyOb = obj.cloneNode(true);
            divWrapper.appendChild(copyOb);
            return divWrapper.innerHTML
        }
        else
            return obj.outerHTML;
    }
 
    function PrintRadCalendar() {
        var previewWnd = window.open('about:blank', '', '', false);
        var sh = '<%= ClientScript.GetWebResourceUrl(RadCalendar1.GetType(),String.Format("Telerik.Web.UI.Skins.{0}.Calendar.{0}.css",RadCalendar1.Skin)) %>';
        var shBase = '<%= ClientScript.GetWebResourceUrl(RadCalendar1.GetType(),"Telerik.Web.UI.Skins.Calendar.css") %>';
        var styleStr = "<html><head><link href = '" + sh + "' rel='stylesheet' type='text/css'></link>";
        styleStr += "<link href = '" + shBase + "' rel='stylesheet' type='text/css'></link></head>";
        var htmlcontent = styleStr + "<body>" + getOuterHTML($find('<%= RadCalendar1.ClientID %>').get_element().parentNode) + "</body></html>";
        previewWnd.document.open();
        previewWnd.document.write(htmlcontent);
        previewWnd.document.close();
        previewWnd.print();
        previewWnd.close();
    }
</script>

Hope this helps.

Regards,
Princy.
Tags
Calendar
Asked by
Amit
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Share this question
or