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

add print function

1 Answer 34 Views
Calendar
This is a migrated thread and some comments may be shown as answers.
beeta one
Top achievements
Rank 1
beeta one asked on 18 Jan 2013, 11:02 AM
How to add print functionality in radcalendar? 

1 Answer, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 18 Jan 2013, 11:38 AM
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,
Shinu.
Tags
Calendar
Asked by
beeta one
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Share this question
or