intente esto:
<asp:ImageButton Width="20px" Height="20px" ID="btnPdf" runat="server"
OnClick="btnExport_Click" ImageUrl="~/Images/PDF.png" AlternateText="Export To PDF" CssClass="AddedButton" />
<asp:ImageButton Width="20px" Height="20px" ID="btnXls" runat="server"
OnClick="btnExport_Click" ImageUrl="~/Images/XLS.png" AlternateText="Export To Excel" />
<asp:ImageButton Width="20px" Height="20px" ID="btnDoc" runat="server"
OnClick="btnExport_Click" ImageUrl="~/Images/DOC.png" AlternateText="Export To Word" />
código C#:
protected void btnExport_Click(object sender, EventArgs e)
{
// Stop buffering the response
Response.Buffer = false;
// Clear the response content and headers
Response.ClearContent();
Response.ClearHeaders();
try
{
string senderID = ((ImageButton)sender).ID;
if (senderID == "btnPdf")
reportDocument.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, Page.Title);
else if (senderID == "btnXls")
reportDocument.ExportToHttpResponse(ExportFormatType.ExcelRecord, Response, true, Page.Title);
else if (senderID == "btnDoc")
reportDocument.ExportToHttpResponse(ExportFormatType.WordForWindows, Response, true, Page.Title);
// There are other format options available such as Word, Excel, CVS, and HTML in the ExportFormatType Enum given by crystal reports
}
catch (Exception ex)
{
//error management
}
}
me da el siguiente error 'CrystalDecisions.CrystalReports.Engine.ReportDocument' no contiene una definición para 'DestinationOptions' y ningún método de extensión 'DestinationOptions' que acepte un primer argumento de tipo 'CrystalDecisions.CrystalReports.Engine.ReportDocument' podría encontrar (¿falta una directiva using o una referencia de ensamblado?) –
también si comento esa declaración arroja una excepción: Falló el inicio de sesión. \ nDetalles: crdb_adoplus: Referencia de objeto no establecida en una instancia de un objeto. \ rError in File D: \\ Users \\ myuser \\ AppData \\ Local \\ Temp \\ CrystalReport {199BAD00-9417-4101-BEA3-FF63B72B66B3} .rpt: \ nNo se puede conectar: parámetros de inicio de sesión incorrectos. donde como estoy usando seguridad integrada –
Guess, es porque es un ejemplo escrito en VS2003/.Net 1.1/CR9 hace mucho tiempo. Agregué un enlace para el artículo con un ejemplo para .Net 2. – NetRat