Controlling printer in reports

Hi,
Actually my report output is half a page.After printing the report, page skips automatically to the next page.I don't want the page to skip to next page.I am using an 80 column continous stationery.i want 2 copies to be printed in the same page.
Pl reply
With Regards
Nirmal R

Hi,
Check ur deflt print settings in developer report home directory under printer folder. Modify existing file dflt.p* else copy it as u like a file name and set report printing property , which should u have to use at runtime.
It might be resolve ur problem.
Thanks,
Bhavendra
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Nirmal Rajendran ([email protected]):
Hi,
Actually my report output is half a page.After printing the report, page skips automatically to the next page.I don't want the page to skip to next page.I am using an 80 column continous stationery.i want 2 copies to be printed in the same page.
Pl reply
With Regards
Nirmal R<HR></BLOCKQUOTE>
null

Similar Messages

  • Control printing from report

    Hi friends ,
             i have to control the printing of a report on the condintion that if a field value is changed then printing should not happen.
    so i want to know how to control this behavior of a report.
    your hints are highly appreciated.
    Thanx .
    Sajid

    First you need to turn the PRINT button off on the selection screen.  Then turn it off on the list.  This sample program will show you how to do both.  Notice that you must create a new gui-status for the list display,  make sure to put a function code for the green arrow as "BACK",  put the fcode 'PRIN' for the print button.  Notice that we will exclude this when setting the status.
    report zrich_0001.
    * Used to limit user commands on selection-screen
    include rsdbc1xx.
    parameters: p_check type c.
    * Events
    at selection-screen output.
      if p_check = 'A'.
        append 'PRIN' to current_scr-excl.
      else.
        delete current_scr-excl where fcode = 'PRIN'.
      endif.
    start-of-selection.
      if p_check = 'A'.
        set pf-status 'LIST' excluding 'PRIN'.
      endif.
      write:/ 'list'.
    Regards,
    RIch Heilman

  • Unable to print crystal report over web using ActiveX Control

    Post Author: jimmyp
    CA Forum: General
    We have a problem with printing crystal report over web using ActiveX Control.  When clicking print button, it only shows a blank dialog web crystal viewer page without any error.  The page just simply hangs.  We installed the PrintControl DLL and enable all the security setting for ActiveX Control for IE.  It still does not print.  Does anyone know why?  
    Environment.
    Bundle Crystal Report v10
    Asp.net 2.0
    IE 6.0 or higher.
    Appreciate for your help.
    Jimmy

    Post Author: Ian Kulmatycki
    CA Forum: General
    A team member here found this, I haven't read it, I'm not sure if our problems are related to this, but hopefully it helps someone:
    -ian
    When Secure Sockets Layer (SSL) is enabled, using the ActiveX control to print reports from a Crystal 10 DHTML viewer results in the following error message:
    "A communication error occurred, printing will be stopped."
    How can this error message be resolved?
    Resolution
    This is a known issue with Crystal Reports 10 and Crystal Enterprise 10 viewers and has been tracked. The Track ID is ADAPT00282199.
    This error occurs due to the receiving application performing a case-sensitive check for the HTTPS request header value "ON". When a sender application sends the value as "on" in lower case, the error occurs. The update below changes the receiving application to be case-insensitive.
    Hot Fixes or Service Packs address this issue as indicated below. With the updates, this issue is resolved.
    Unless indicated otherwise, Weekly Hot Fix updates from our FTP site have only been tested with English versions of products.
    For Crystal Reports 10 and Crystal Enterprise 10, the update for this issue is included in the Crystal 10 Viewers Weekly Hot Fix (WHF). This is available in English only at the following location:
    ftp://ftp.crystaldecisions.com/outgoing/EHF/viewers10win_en.zip
    This issue is addressed in the following components (and later versions):
    PageObjectModel.dll, version 10.0.5.785, dated 8/25/2004
    ReportRenderer.dll, version 10.0.5.785, dated 8/25/2004
    WebReporting.dll, version 10.0.5.785, dated 8/25/2004

  • HOWTO: Control Printer Attributes for a Report at Run Time Reports 6i

    HOWTO: Control Printer Attributes for a Report at Run Time
    Like page width , height etc
    my problem is i had installed a printer and it is set for
    printing different reports ( like invoice slips , legal size ,
    A3 etc ) each time i have to manually set the page settup from
    printer folder .instead if there is an option to set the printer
    attributes from Reports 6i it is great
    rajesh

    All the Printer Setup(Page Height and Page Width) must be set in
    the Reprot Program. These can be set at the Layout-Main Section
    in the Object Navigator.
    hth

  • Print report and append control image to report.vi problem

    why print report.vi and control image to report.vi can't executable in xp service pack 3??
    before that, i use xp service pack 1. these sub vi can use successful. but after i transfer all ni file into xp service pack 3, that sub vi can't executable..why it happen???
    please, help me...

    When you said that you used your VIs in service pack 1 and then transferred to Service pack 3, are you referring to 2 different computers or you simply updated the computer with SP1 to SP3?
    If you are using 2 different computers, were all the software and the toolkit also installed in the pc with SP3? I am using XP with SP3 and I am not having any problems with the print vi.
    If you have more information, like if you get an error message, kindly post it here as well.
    Best regards,
    Mary Anne
    .....YOU WONT LEARN IF YOU ALREADY KNOW.....

  • Print a report in crystal Report using SDK

    Hi Dear;
    any body can publish a sample code how can i print a report built in crystal report using SDK?
    regards;

    Hi Dany,
    Hope the following code will help u .
    before calling the function make a XML by using dataset.writexml, in which you have to pass the name of your stored procedure.
    for this you have to decalre commantype as stored procedure.
    first parameter of this is rpt name . asecon paramer is ur xml name which you got from DAtaset.writexml.
    Sub ShowReport(ByVal rptName As String, ByVal SourceXML As String)
            Try
                Dim oSubReport As CrystalDecisions.CrystalReports.Engine.SubreportObject
                Dim rptSubReportDoc As CrystalDecisions.CrystalReports.Engine.ReportDocument
                Dim rptView As New CrystalDecisions.Windows.Forms.CrystalReportViewer
                Dim rptPath As String = System.Windows.Forms.Application.StartupPath & "\" & rptName
                Dim rptDoc As New CrystalDecisions.CrystalReports.Engine.ReportDocument
                rptDoc.Load(rptPath)
                For Each oMainReportTable As CrystalDecisions.CrystalReports.Engine.Table In rptDoc.Database.Tables
                    oMainReportTable.Location = System.Windows.Forms.Application.StartupPath & "\" & SourceXML
                Next
                For Each rptSection As CrystalDecisions.CrystalReports.Engine.Section In rptDoc.ReportDefinition.Sections
                    For Each rptObject As CrystalDecisions.CrystalReports.Engine.ReportObject In rptSection.ReportObjects
                        If rptObject.Kind = CrystalDecisions.Shared.ReportObjectKind.SubreportObject Then
                            oSubReport = rptObject
                            rptSubReportDoc = oSubReport.OpenSubreport(oSubReport.SubreportName)
                            For Each oSubTable As CrystalDecisions.CrystalReports.Engine.Table In rptSubReportDoc.Database.Tables
                                oSubTable.Location = System.Windows.Forms.Application.StartupPath & "\" & SourceXML
                            Next
                        End If
                    Next
                Next
                rptView.ReportSource = rptDoc
                rptView.Show()
                Dim oFrm As New System.Windows.Forms.Form
                rptView.DisplayGroupTree = False
                rptView.Dock = System.Windows.Forms.DockStyle.Fill
                rptView.Location = New System.Drawing.Point(0, 0)
                oFrm.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
                oFrm.Controls.Add(rptView)
                oFrm.Name = "rptForm"
                oFrm.Text = "rptForm"
                oFrm.ResumeLayout(False)
                oFrm.WindowState = System.Windows.Forms.FormWindowState.Maximized
                oFrm.TopMost = True
                oFrm.ShowDialog()
            Catch ex As Exception
                oApplication.MessageBox(ex.Message)
            End Try
        End Sub

  • Print a report to a specific printer from Forms

    I have a form from where i want to print a report to a specific printer (not the default printer). Is there any way to do this from Forms 9i. Im using the Orarrp but it pops up the printer dialog and shows the default printer. Is there any way to harcod the printer name. the printer is on the network..

    If i go to my control pannel and see the list of printers i take the printer name from there. should i put the path of the printer? i kno the port of the printer .it come like ip_192.1.11.1_p1 ..how do i define the printer name? if i dnt give the printer name shouldnt if fire to the default printer ..my code is as follows
    declare
    REPID REPORT_OBJECT;
    V_REP VARCHAR2(100);
    REP_STATUS VARCHAR2(20);
    BEGIN
    REPID := FIND_REPORT_OBJECT('CUS_PRINT');
    SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_EXECUTION_MODE,BATCH);
         SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_COMM_MODE,SYNCHRONOUS);
    SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_DESTYPE,PRINTER);
         SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_SERVER,'test');
    SET_REPORT_OBJECT_PROPERTY(REPID,REPORT_OTHER,'P_CUSREF='||:CTRL01.CUSREF||' PARAMFORM=NO');
         MESSAGE('SET REPORT PROP');
    V_REP := RUN_REPORT_OBJECT(REPID);
    REP_STATUS := REPORT_OBJECT_STATUS(V_REP);
    MESSAGE('RAN REPORT');
    WHILE REP_STATUS IN ('RUNNING','OPENING_REPORT','ENQUEUED') LOOP
         REP_STATUS := REPORT_OBJECT_STATUS(V_REP);
    END LOOP;
         IF REP_STATUS = 'FINISHED' THEN
              IF NVL('TEST',' ') <> ' ' THEN
              GEN_ALERT('NULL_ALERT','TEST');
              END IF;
              ELSE
         GEN_ALERT('NULL_ALERT','Error when running report');
         END IF;
    END;
    what should the desformat of the report should be..when im trying to run this it gives me 'no data found' error...why???

  • Print Crystal Report directly from C# without using Report Viewer

    Hello All,
    I need to print a crystal report directly to the printer without using ReportViewer in C#. I've a CrystalReport2(belowCode) which requires a query (Select * from JobHeader where JobNumber='J012345') to display all the data. I'm stuck with database connection
    and putting all the data to DataAdapter in C# (Below Code). I also have 8 subreports in my CrystalReport2. Can somebody please give me hand on this? I'm struggling with it. Thanks.
    Regards
    using CrystalDecisions.CrystalReports.Engine;
    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using System.Data.SqlClient;
    namespace csharp_win_printtoprinter
    /// <summary>
    /// Summary description for Form1
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    //CR Variables
    ReportDocument crReportDocument;
    private System.Windows.Forms.Button button1;
    private System.Windows.Forms.PrintDialog printDialog1;
    private System.Windows.Forms.Button button2;
    private System.Drawing.Printing.PrintDocument printDocument1;
    private CrystalDecisions.Windows.Forms.CrystalReportViewer crystalReportViewer1;
    private CrystalReport1 CrystalReport11;
    private Chart Chart1;
    /// <summary>
    /// Required designer variable
    /// </summary>
    private System.ComponentModel.Container components = null;
    public Form1()
    // Required for Windows Form Designer support
    InitializeComponent();
    // TODO: Add any constructor code after InitializeComponent call
    /// <summary>
    /// Clean up any resources being used
    /// </summary>
    protected override void Dispose( bool disposing )
    if( disposing )
    if (components != null)
    components.Dispose();
    base.Dispose( disposing );
    #region Windows Form Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor
    /// </summary>
    private void InitializeComponent()
    this.button1 = new System.Windows.Forms.Button();
    this.printDialog1 = new System.Windows.Forms.PrintDialog();
    this.button2 = new System.Windows.Forms.Button();
    this.printDocument1 = new System.Drawing.Printing.PrintDocument();
    this.crystalReportViewer1 = new CrystalDecisions.Windows.Forms.CrystalReportViewer();
    this.Chart1 = new csharp_win_printtoprinter.Chart();
    this.CrystalReport11 = new csharp_win_printtoprinter.CrystalReport1();
    this.SuspendLayout();
    // button1
    this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    this.button1.Location = new System.Drawing.Point(32, 56);
    this.button1.Name = "button1";
    this.button1.Size = new System.Drawing.Size(160, 104);
    this.button1.TabIndex = 0;
    this.button1.Text = "Print Report No Choose Printer";
    this.button1.Click += new System.EventHandler(this.button1_Click);
    // button2
    this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    this.button2.Location = new System.Drawing.Point(272, 56);
    this.button2.Name = "button2";
    this.button2.Size = new System.Drawing.Size(160, 104);
    this.button2.TabIndex = 1;
    this.button2.Text = "Choose Printer";
    this.button2.Click += new System.EventHandler(this.button2_Click);
    // crystalReportViewer1
    this.crystalReportViewer1.ActiveViewIndex = 0;
    this.crystalReportViewer1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
    this.crystalReportViewer1.Cursor = System.Windows.Forms.Cursors.Default;
    this.crystalReportViewer1.Location = new System.Drawing.Point(47, 188);
    this.crystalReportViewer1.Name = "crystalReportViewer1";
    this.crystalReportViewer1.ReportSource = this.CrystalReport11;
    this.crystalReportViewer1.Size = new System.Drawing.Size(903, 296);
    this.crystalReportViewer1.TabIndex = 2;
    // Form1
    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    this.ClientSize = new System.Drawing.Size(1164, 505);
    this.Controls.Add(this.crystalReportViewer1);
    this.Controls.Add(this.button2);
    this.Controls.Add(this.button1);
    this.Name = "Form1";
    this.Text = "Form1";
    this.Load += new System.EventHandler(this.Form1_Load);
    this.ResumeLayout(false);
    #endregion
    /// <summary>
    /// The main entry point for the application
    /// </summary>
    [STAThread]
    static void Main()
    Application.Run(new Form1());
    private void button1_Click(object sender, System.EventArgs e)
    crReportDocument = new ReportDocument();
    //Create an instance of a report
    crReportDocument = new CrystalReport2();
    //Use error handling in case an error occurs
    try
    //Set the printer name to print the report to. By default the sample
    //report does not have a defult printer specified. This will tell the
    //engine to use the specified printer to print the report. Print out
    //a test page (from Printer properties) to get the correct value.
    System.Drawing.Printing.PrintDocument printDocument = new System.Drawing.Printing.PrintDocument();
    crReportDocument.PrintOptions.PrinterName = printDocument.PrinterSettings.PrinterName;
    //Start the printing process. Provide details of the print job
    //using the arguments.
    crReportDocument.PrintToPrinter(0 ,true , 1, 1);
    //Let the user know that the print job is completed
    MessageBox.Show("Report finished printing!");
    catch(Exception err)
    MessageBox.Show(err.ToString(), "Unexpected exception");
    private void Form1_Load(object sender, System.EventArgs e)
    private void button2_Click(object sender, System.EventArgs e)
    //Open the PrintDialog
    this.printDialog1.Document = this.printDocument1;
    DialogResult dr = this.printDialog1.ShowDialog();
    if(dr == DialogResult.OK)
    //Get the Copy times
    int nCopy = this.printDocument1.PrinterSettings.Copies;
    //Get the number of Start Page
    int sPage = this.printDocument1.PrinterSettings.FromPage;
    //Get the number of End Page
    int ePage = this.printDocument1.PrinterSettings.ToPage;
    string PrinterName = this.printDocument1.PrinterSettings.PrinterName;
    crReportDocument = new ReportDocument();
    //Create an instance of a report
    crReportDocument = new Chart();
    try
    //Set the printer name to print the report to. By default the sample
    //report does not have a defult printer specified. This will tell the
    //engine to use the specified printer to print the report. Print out
    //a test page (from Printer properties) to get the correct value.
    crReportDocument.PrintOptions.PrinterName = PrinterName;
    //Start the printing process. Provide details of the print job
    //using the arguments.
    crReportDocument.PrintToPrinter(nCopy, false, sPage, ePage);
    //Let the user know that the print job is completed
    MessageBox.Show("Report finished printing!");
    catch(Exception err)
    MessageBox.Show(err.ToString());

    1. This is a VB.Net forum not a Visual C# forum. For Visual C# questions try this forum.
    Visual C#
    2. Crystal Reports are not supported by Microsoft. Therefore, unless somebody responding in the Visual C# forum has experience with whichever version of Crystal Reports you are using, you will probably not receive an answer in the Visual C# forum. SAP has
    their own assistance for Crystal Reports using Visual Studio. You can try to find an appropriate forum to ask questions in at SAP in the below link.
    SAP Community Network
    La vida loca

  • Problem with NIReport.llb\Print HTML Report using IE.vi on different machines

    We have 5 machines here in our workgroup which have the same state regarding security patches and other system updates. We recently found out that there is a problem with the NIReport.llb\Print HTML Report using IE.vi on the different machines.
    If I would open the VI on MachineA the control could be loaded. If I would open the VI on MachineB the control could be loaded. If I would copy the VI from MachineB to MachineA and open the VI the control could not be loaded. If I would copy the VI from MachineA to MachineB and open the VI on MachineB the control could be loaded. MachineB could load the version from MachineA and MachineB but on MachineA only the own version will load. I have seen that both versions have the same GUID for the Microsoft Webbrowser but are different in some other aereas.
    Since printing HTML Reports is part of the application which will be distributed as application I want to know if someone else have seen such a behaviour or has got problems distributing an application.
    Also I want to know which additional information is stored in an Active-X container about the control beside the GUID.
    We have Win XP Prof SP2 with MS IE 6.0.2900.2180 on all machines in the workgroup.
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

    Hi Tom,
    this is the VI <vi.lib>\Utillitiy\NIReport.llb\Print HTML Report using IE.vi copied from a machine that can load and run the VI and it will print. On this machine the control in the VI is white.
    This VI will give the "Control could not be loaded" message on my machine.
    The file shdocvw.dll is 2006-10-23 16:18 size 1.460 KB and I verifyed that both machines have the same version of this file.
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions
    Attachments:
    Print HTML Report using IE.png ‏11 KB

  • Problem in printing Crystal Report from SAP Business One - the printing cut in it width margins

    Hi
    i'm trying to print crystal report layout from sap b1. when i preview the report as pdf file, i have the option to choose Fit in size option and then the layout print O.k with out any margins that been cut.
    The problem start when i'm trying to print the layout directly from sap b1 (printer button) which cause the page to be cut in it width margins.
    How can i control the printing of crystal layout when i'm printing it directly from sap b1? do i have the option to chose 'Fit page size' from sap system?

    Hi,
    Please check SAP note:
    1820939 - Page settings of Crystal Reports not transferred
    correctly
    Thanks & Regards,
    Nagarajan

  • Screen Print and report print in 11g Forms

    Hi,
    I have created a popup menu in forms 11g which has a label print screen.
    When user clicks on it, it is supposed to bring up the list of printers that user has on his PC, so that they can choose the printer where they want to print to.
    Do I need to use webutil for it? or is there any other way?.
    Thanks
    Munish

    If you plan on printing from the client your only options are to use WebUtil or write your own java bean.
    That said, if you are generating the labels using Reports, why not generate to a pdf file? If you coded your form properly, the pdf will open on the client side in something like Acrobat Viewer. If they want to print it they can click on the "Print" button in PDF viewer.
    If you really want to make it complicated and present a list of printers and allow them to pick one then send the job to the printer, this will take some effort. Here are some starter tips assuming the client will always be Windows based:
    You can get the current default printer like this:
    -- More registry info for printing can be found here:   http://support.microsoft.com/kb/102966
    Declare
         rtn_Registry               varchar2(255);
         rtn_defaultPrinter          varchar2(255);
    Begin
         rtn_Registry := CLIENT_WIN_API_ENVIRONMENT.Read_Registry('HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows','Device');
         rtn_defaultPrinter := substr(rtn_Registry,1,instr(rtn_Registry,',',1)-1);
         message (rtn_defaultPrinter);  -- This is the name of the default printer
    End;Some printer properties and preferences can be called with something like this:
    -- More details here:  http://support.microsoft.com/kb/q189105/
    Declare
         my_cmd varchar2(255);
         rtn_Registry               varchar2(255);
         rtn_defaultPrinter          varchar2(255);
    Begin
    -- Get default printer
         rtn_Registry := CLIENT_WIN_API_ENVIRONMENT.Read_Registry('HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows','Device');
         rtn_defaultPrinter := substr(rtn_Registry,1,instr(rtn_Registry,',',1)-1);
         -- Printer default preferences
         my_cmd := 'rundll32 printui.dll,PrintUIEntry /e /n "'|| rtn_defaultPrinter ||'"';
         -- Printer properties
    --     my_cmd := 'rundll32 printui.dll,PrintUIEntry /p /n "'|| rtn_defaultPrinter ||'"';     
         -- Printer queue
    --     my_cmd := 'rundll32 printui.dll,PrintUIEntry /o /n "'|| rtn_defaultPrinter ||'"';
         If rtn_defaultPrinter IS NULL Then
              Message('Default printer not detected.');
              Message('Default printer not detected.');          
              RAISE Form_Trigger_Failure;
         End if;
         SYNCHRONIZE;     
         CLIENT_HOST(my_cmd);
    End;The complete list of installed printers can be found in the Registry here:
    <blockquote>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers</blockquote>
    Take a look at this java bean example used to help print to the local printer from Forms.
    <blockquote>http://forms.pjc.bean.over-blog.com/article-6621538.html</blockquote>

  • How to print the report directly without previewing (report viewer) using c# windows application

    Hi,
    Currently, we are using crystal report to all of our reporting applications, but since I/users have encountered some issues about CR's speed to load only a simple report, maybe it is now time for us to adopt a new reporting environment in which I think SSRS
    can fill this problem.
    To start with, I have here a sample code, that uses the crystal report to print the report directly without previewing:
    csCashInvoiceCal csCashCal; --Crystal report name .rpt
    dsCsReceipt dsCs; --created dataset
    DataTable u;
    DataRow s;
    private System.Drawing.Printing.PrintDocument printDocument1;
    private System.Windows.Forms.PrintDialog printDialog1;
    ParameterValues paramValue;
    ParameterDiscreteValue discreteValue;
    ParameterFieldDefinition fieldDefinition;
    private void btnPrint_Click(object sender, EventArgs e)
    this.Cursor = Cursors.WaitCursor;
    loadReceipt2();
    print2();
    csCashCal.Close();
    this.Cursor = Cursors.Default;
    private void loadReceipt2()
    dsCs = new dsCsReceipt(); --created dataset
    u = dsCs.Tables.Add("DtCsReceipt");
    u.Columns.Add("Qty", Type.GetType("System.String"));
    u.Columns.Add("UOM", Type.GetType("System.String"));
    u.Columns.Add("Description", Type.GetType("System.String"));
    u.Columns.Add("UnitPrice", Type.GetType("System.String"));
    u.Columns.Add("Discount", Type.GetType("System.String"));
    u.Columns.Add("Amount", Type.GetType("System.String"));
    try
    for (int i = 0; i < dgvDesc.Rows.Count - 1; i++)
    s = u.NewRow(); double.TryParse(dgvDesc.Rows[i].Cells[Discount2.Name].Value.ToString(), out discount);
    s["Qty"] = double.Parse(dgvDesc.Rows[i].Cells[Qty.Name].Value.ToString());
    s["UOM"] = dgvDesc.Rows[i].Cells[Uom2.Name].Value.ToString();
    s["Description"] = invcode + dgvDesc.Rows[i].Cells[Description.Name].Value.ToString();
    s["UnitPrice"] = dgvDesc.Rows[i].Cells[UnitPrice.Name].Value.ToString();
    if (discount != 0)
    s["Discount"] = "(" + string.Format("{0:0.##}", discount) + "%)";
    else
    s["Discount"] = "";
    s["Amount"] = dgvDesc.Rows[i].Cells[Amount2.Name].Value.ToString();
    u.Rows.Add(s);
    catch (Exception) { }
    csCashCal = new csCashInvoiceCal();
    csCashCal.SetDataSource(dsCs.Tables[1]);
    //csCashCal.Refresh();
    loadParameter2();
    private void loadParameter2()
    ParameterFieldDefinitions paramFieldDefinitions;
    paramValue = new ParameterValues();
    discreteValue = new ParameterDiscreteValue();
    paramFieldDefinitions = csCashCal.DataDefinition.ParameterFields;
    discreteValue.Value = date;
    fieldDefinition = paramFieldDefinitions["Date"];
    commonParam();
    discreteValue.Value = txtcsno.Text;
    fieldDefinition = paramFieldDefinitions["InvoiceNo"];
    commonParam();
    discreteValue.Value = txtNameTo.Text;
    fieldDefinition = paramFieldDefinitions["CustomerName"];
    commonParam();
    discreteValue.Value = txtAdd.Text;
    fieldDefinition = paramFieldDefinitions["CustomerAddress"];
    commonParam();
    ------other parameters----
    private void commonParam()
    paramValue.Clear();
    paramValue.Add(discreteValue);
    fieldDefinition.ApplyCurrentValues(paramValue);
    private void print2()
    using (printDocument1 = new System.Drawing.Printing.PrintDocument())
    using (this.printDialog1 = new PrintDialog())
    //this.printDialog1.UseEXDialog = true;
    this.printDialog1.Document = this.printDocument1;
    DialogResult dr = this.printDialog1.ShowDialog();
    if (dr == DialogResult.OK)
    int nCopy = this.printDocument1.PrinterSettings.Copies;
    int sPage = this.printDocument1.PrinterSettings.FromPage;
    int ePage = this.printDocument1.PrinterSettings.ToPage;
    string PrinterName = this.printDocument1.PrinterSettings.PrinterName;
    try
    csCashCal.PrintOptions.PrinterName = PrinterName;
    csCashCal.PrintToPrinter(nCopy, false, sPage, ePage);
    printcount++;
    //saveCountPrint();
    catch (Exception err)
    MessageBox.Show(err.ToString());
    This is only a simple sales receipt application that uses dgv and textboxes to push its data to dataset to the crystal report, a simple one but there are instances that it is very slow.
    But I'm having trouble implementing this using SSRS, since I'm only new to this one, wherein I created the report using report wizard, with two button options inside the form for print preview or direct print selection. Actually, it is very easy to implement
    with print preview because it uses reportviewer. My problem is that how can I print the report directly without using a reportviewer?
    So here is my code so far which I don't know what's next:
    private void button2_Click(object sender, EventArgs e)
    this.Cursor = Cursors.WaitCursor;
    loadReceipt3();
    //print3();
    this.Cursor = Cursors.Default;
    ReportParameter[] parameter = new ReportParameter[11];
    private void loadParameter3()
    parameter[0] = new ReportParameter("InvoiceNo", txtcsno.Text);
    parameter[1] = new ReportParameter("Date", date);
    parameter[2] = new ReportParameter("CustomerTin", txtTin.Text);
    parameter[3] = new ReportParameter("CustomerName", txtNameTo.Text);
    parameter[4] = new ReportParameter("CustomerAddress", txtAdd.Text);
    parameter[5] = new ReportParameter("Agent", agent);
    parameter[6] = new ReportParameter("Discount", "Discount: ");
    parameter[7] = new ReportParameter("TotalDiscount", lblDiscount.Text + "%");
    parameter[8] = new ReportParameter("TotalSales", rdtotal);
    parameter[9] = new ReportParameter("Tax", rdtax);
    parameter[10] = new ReportParameter("TotalAmount", rdnet);
    private void loadReceipt3()
    DataSet dsrs = new DataSet();
    DataTable dtrs = new DataTable();
    DataRow drs;
    dtrs.Columns.Add("Qty", Type.GetType("System.String"));
    dtrs.Columns.Add("UOM", Type.GetType("System.String"));
    dtrs.Columns.Add("Description", Type.GetType("System.String"));
    dtrs.Columns.Add("UnitPrice", Type.GetType("System.String"));
    dtrs.Columns.Add("Discount", Type.GetType("System.String"));
    dtrs.Columns.Add("Amount", Type.GetType("System.String"));
    try
    for (int i = 0; i < dgvDesc.Rows.Count - 1; i++)
    drs = dtrs.NewRow();
    drs["Qty"] = double.Parse(dgvDesc.Rows[i].Cells[Qty.Name].Value.ToString());
    drs["UOM"] = dgvDesc.Rows[i].Cells[Uom2.Name].Value.ToString();
    drs["Description"] = invcode + dgvDesc.Rows[i].Cells[Description.Name].Value.ToString();
    drs["UnitPrice"] = dgvDesc.Rows[i].Cells[UnitPrice.Name].Value.ToString();
    if (discount != 0)
    drs["Discount"] = "(" + string.Format("{0:0.##}", discount) + "%)";
    else
    drs["Discount"] = "";
    drs["Amount"] = dgvDesc.Rows[i].Cells[Amount2.Name].Value.ToString();
    dtrs.Rows.Add(s);
    catch (Exception) { }
    int addtlRow = 7;
    if (addtlRow > (count - 1))
    addtlRow = addtlRow - (count - 1);
    for (int i = 0; i < addtlRow; i++)
    dtrs.Rows.Add();
    loadParameter3();
    LocalReport localreport = new LocalReport();
    localreport.SetParameters(parameter);
    localreport.DataSources.Clear();
    localreport.DataSources.Add(new ReportDataSource("dsSalesReceiptSsrs", dtrs));
    localreport.Refresh();
    //what's next....
    So what's next after local..refresh()? Actually, I have googled a lot but I didn't found the exact solution that I'm looking for which confuses me a lot.
    Anyway I'm using VS 2010 with sql server 2012 express.
    You're help will be greatly appreciated.
    Thank you,
    Hardz

    After some further studies with ReportViewer controls and with the use of this tutorial @ : http://msdn.microsoft.com/en-us/library/ms252091.aspx, which helps me a lot on how to print a report without using a report viewer, I found out what is missing
    with my code above and helps solve my question.
    Here's the continuation of the code above:
    private void loadReceipt3()
    loadParameter3();
    LocalReport localreport = new LocalReport();
    localreport.ReportPath = @"..\..\SsrsCashReceipt.rdlc";
    localreport.SetParameters(parameter);
    localreport.DataSources.Clear();
    localreport.DataSources.Add(new ReportDataSource("dsSalesReceiptSsrs", dtrs));
    Export(localreport);
    print4();
    private IList<Stream> m_streams;
    private int m_currentPageIndex;
    private void Export(LocalReport report)
    string deviceInfo =
    @"<DeviceInfo>
    <OutputFormat>EMF</OutputFormat>
    <PageWidth>8.5in</PageWidth>
    <PageHeight>11in</PageHeight>
    <MarginTop>0.25in</MarginTop>
    <MarginLeft>0.25in</MarginLeft>
    <MarginRight>0.25in</MarginRight>
    <MarginBottom>0.25in</MarginBottom>
    </DeviceInfo>";
    Warning[] warnings;
    m_streams = new List<Stream>();
    report.Render("Image", deviceInfo, CreateStream,
    out warnings);
    foreach (Stream stream in m_streams)
    stream.Position = 0;
    private void print4()
    if (m_streams == null || m_streams.Count == 0)
    throw new Exception("Error: no stream to print.");
    PrintDocument printDoc = new PrintDocument();
    PrintDialog printDlg = new PrintDialog();
    printDlg.Document = printDoc;
    DialogResult dr = printDlg.ShowDialog();
    if (dr == DialogResult.OK)
    if (!printDoc.PrinterSettings.IsValid)
    throw new Exception("Error: cannot find the default printer.");
    else
    printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
    m_currentPageIndex = 0;
    printDoc.Print();
    Dispose();
    public void Dispose()
    if (m_streams != null)
    foreach (Stream stream in m_streams)
    stream.Close();
    m_streams = null;
    private Stream CreateStream(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek)
    Stream stream = new FileStream(name + "." + fileNameExtension,
    FileMode.Create);
    m_streams.Add(stream);
    return stream;
    private void PrintPage(object sender, PrintPageEventArgs ev)
    Metafile pageImage = new
    Metafile(m_streams[m_currentPageIndex]);
    // Adjust rectangular area with printer margins.
    Rectangle adjustedRect = new Rectangle(
    ev.PageBounds.Left - (int)ev.PageSettings.HardMarginX,
    ev.PageBounds.Top - (int)ev.PageSettings.HardMarginY,
    ev.PageBounds.Width,
    ev.PageBounds.Height);
    // Draw a white background for the report
    ev.Graphics.FillRectangle(Brushes.White, adjustedRect);
    // Draw the report content
    ev.Graphics.DrawImage(pageImage, adjustedRect);
    // Prepare for the next page. Make sure we haven't hit the end.
    m_currentPageIndex++;
    ev.HasMorePages = (m_currentPageIndex < m_streams.Count);
    Thank you very much for this wonderful tutorial. :)

  • Error according printing html report

    I bulid a vi to print HTML report but I have problem printing this report .
    I try ever to used some example which national Instrument bulid , such as Report Generation > Text
    Report, but ever in this example I couldn't print the file (HTML).

    Wisam,
    Could you tell us what procedure are you following to run that example? and also what version of LabVIEW you have?
    The way you have to run that example (Text Report.vi) is that when you open it, in the control that reads: "Report Type" you select HTML, and also in the control that reads "HTML Save Path" you set the path like for example "C:\test1.htm", now run it and you should have now the HTML format type report. I believe that you also have in that same directory of examples another one called : Example HTML Report Report, that one also shows how to print a report to an HTML file. Try the example you mention setting up the controls that I wrote above and it should work. If not please contact us and we can try to send you an original example and see if i
    t works. You can do it by this same means or by direct contact ( www.ni.com/ask ).
    Good luck!...
    Nestor Sanchez
    Applications Engineer
    National Instruments
    Nestor
    National Instruments

  • Can I print Crystal report in Adobe by just hitting print??

    Hello All,
    I have my saved my report in Infoview (BO) and if I hit print it asks me to install
    u201CCrystal report print control u201Csoftware.
    And if I choose export option it gives me few options and I can then print.
    Now my question is, is it possible to print the report in adobe once I hit print? Can that be done as default settings??
    Thanks

    Hi,
    Check if any Printers are installed on the server side?
    What are your printer drivers installed on your local machine?
    Thanks,
    Naveen.

  • Control image to report doesn't take all width

    I want to add and print a control to my report, but the control image doesn't take all the width avalaible on my report.
    It's stretched before the margin.
    Take a look to my exemple in attachement
    thanks
    Attachments:
    print_panel.vi ‏38 KB

    Hi,
    I regret to say that the image size is a known bug with the Report Generator. There is currently no workaround for this issue. The image size cannot be greater than a 1� margin on both sides. I hope you�ll be able to work around this. The issue will be fixed in a future version of LV.
    Danny G.
    Applications Engineer
    National Instruments

Maybe you are looking for