我有一个TALBE表,打算这个table打印出来
但不能用JS代码去写,这样要降低安全性,我用的是.NET2003能在CS下写一个打印按钮吗?
高手指点下吧。

解决方案 »

  1.   

    而且不用水晶报表,就是个talbe里面的东西想给它打印出来而已。
      

  2.   

    要启用 ActiveX控件中的一些插件
      

  3.   

    打印table表啊?  没有试过哎  网上找不到代码吗?
      

  4.   

    要是这用gridview做的话也行 现在就想打印TABLE 可以做吗?
      

  5.   

    能不能把<OBJECT     id=WebBrowser     classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2     height=0     width=0 VIEWASTEXT>   弄成安全的
    如果用JS的话
      

  6.   

    利用.Net组件打印利用.Net组件◆优点:这种打印方式对于格式变化大,数据量小的应用来说非常合适。◆缺点:◆需要客户端安.Net framework组件。◆Xml的解析上,如果文件较大速度上不是很理想。◆页面首次加载时会有明显的延时。使用XSL和XSLT转换Xml◆XSL:扩展样式表语言,可以通过它来把Xml转换为其他的文本格式。◆XSL转换包括发现或者选择一个模式匹配,通过使用XPath选择一个结果集,然后对结果集中的每一项,为这些匹配定义结果输出。◆XSL是一个功能强大的工具,可以把Xml转换成任何你想要的格式。【参考代码】                
                XslTransform xslt = new XslTransform();
                xslt.Load(Server.MapPath( "StudentsToHTML.xsl") );
                XPathDocument XDoc = new XPathDocument(Server.MapPath( "Students.Xml" ));
                XmlWriter writer = new XmlTextWriter( server.MapPath("Students.html"), System.Text.Encoding.UTF8 );
                xslt.Transform( XDoc, null, writer );
                writer.Close();
                Response.Redirect("Students.html");
                
     
    利用ActiveX控件打印利用第三方控件◆自己开发控件。这种方式很多商用软件采用这种方式,写成控件后已经无所谓是在web中使用还是应用程序中使用了。优点:打印方式非常灵活,基本上程序能做到的web也能做得到。缺点:客户端需要安装组件,部署不是很方便。使用水晶报表◆用户仅需要Web 浏览器就可以查看报表。◆报表查看器控件可以是应用程序中众多控件之一。◆与报表轻松交互◆用户可将报表导出为Microsoft word 和Excel 格式,以及PDF、HTML 和Crystal Reports for visual Studio .Net格式。◆可以使用报表控件直接打印【实例代码】                    //水晶报表的填充,省略连接代码
                                                    myReport ReportDoc = new myReport();
                                                    ReportDoc.SetDataSource(ds);
                                                    Crv.ReportSource = ReportDoc;
                                                    //输出为指定类型文件
                                                    CrystalDecisions.Shared.DiskFileDestinationOptions DiskOpts = new          
                                  CrystalDecisions.Shared.DiskFileDestinationOptions();
                                                    ReportDoc.ExportOptions.ExportDestinationType = 
                                  CrystalDecisions.Shared.ExportDestinationType.DiskFile;
                                                    string strFileName = server.MapPath("Output");
                                                    switch (ddlFormat.SelectedItem.Text)
                                                    {
                                                    case "Rich Text (RTF)":
                                                    ReportDoc.ExportOptions.ExportFormatType =   
                                                CrystalDecisions.Shared.ExportFormatType.RichText;
                                                    DiskOpts.DiskFileName =strFileName + ".rtf";
                                                    break;
                                                    case "Portable Document (PDF)":
                                                    ReportDoc.ExportOptions.ExportFormatType =   
                                                CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
                                                    DiskOpts.DiskFileName = strFileName + ".pdf";
                                                    break;
                                                    case "MS word (DOC)":
                                                    ReportDoc.ExportOptions.ExportFormatType =   
                                                CrystalDecisions.Shared.ExportFormatType.WordForWindows;
                                                    DiskOpts.DiskFileName = strFileName + ".doc";
                                                    break;
                                                    case "MS excel (XLS)":
                                                    ReportDoc.ExportOptions.ExportFormatType =   
                                                CrystalDecisions.Shared.ExportFormatType.Excel;//
                                                    DiskOpts.DiskFileName = strFileName + ".xls";
                                                    break;
                                                    default:
                                                    break;
                                                    }
                                                    ReportDoc.ExportOptions.DestinationOptions = DiskOpts;
                                                    ReportDoc.Export();
                                                    //打印
                                                    // 指定打印机名称   
                                                    string strPrinterName; 
                                                    strPrinterName = @"Canon Bubble-Jet BJC-210SP";
                                                    // 设置打印页边距
                                                    PageMargins margins; 
                                                    margins = ReportDoc.PrintOptions.PageMargins; 
                                                    margins.bottomMargin = 250; 
                                                    margins.leftMargin = 350; 
                                                    margins.rightMargin = 350; 
                                                    margins.topMargin = 450;     
                                                    ReportDoc.PrintOptions.ApplyPageMargins(margins); 
                                                    //应用打印机名称
                                                    ReportDoc.PrintOptions.PrinterName = strPrinterName; 
                                                    // 打印   
                        // 打印报表。将startPageN 和endPageN 
                                                    // 参数设置为0 表示打印所有页。
                                                    ReportDoc.PrintToPrinter(1, false,0,0);
     网上找的,不知道你有没有用