Exemplo n.º 1
0
        /// <summary>
        /// onclick يك دكمه را براي پرينت گرفتن از محتواي يك گريدويو تنظيم مي كند.
        /// </summary>
        /// <param name="gridview1"></param>
        /// <param name="print_button"></param>
        /// <param name="report_title"></param>
        public static void PrintGridView(GridView gridview1, WebControl print_button, string report_title)
        {
            Page page = gridview1.Page;
            //چون بعضي جاها در اسكريپت مجبور به استفاده ار " بودم گاهي عبارت را با + به هم چسباندم.
            string script = @"
      function printbtn_onclick() {
            try {
                if (navigator.appName != 'Microsoft Internet Explorer')
                    alert('جهت چاپ بايد از جستجوگر Internet Explorer يا بالاتر استفاده نماييد.');
                var popup = window.open('', '_blank'); 
" +
                            "                var style = 'style=\"direction:rtl;text-align:right;font-family:Tahoma;font-size:11pt;\"'; " +
                            "                var gridview = '<P style=\"direction:rtl\" >' + document.getElementById('" + gridview1.ClientID + @"').outerHTML + '</P>';
                var popupBody = popup.document.body
                popupBody.style.border = 'solid 2px black'
                popupBody.style.padding = '5px';
                popupBody.innerHTML = '<P ' + style + '  >" + report_title + @"</P>' + gridview;
                popup.print();
                return false;
            }
            catch (errorinfo) {
                alert('خطا:' + errorinfo.message);
                return false;
            }
        }	
";
            string script_key = "ReportGeneratorFromGridViewScript" + print_button.GetHashCode();

            if (!page.ClientScript.IsClientScriptBlockRegistered(script_key))
            {
                page.ClientScript.RegisterClientScriptBlock(page.GetType(), script_key, script, true);
            }
            print_button.Attributes.Add("onclick", "return printbtn_onclick()");
        }