コード例 #1
0
        private static int _totalWidth; // Summation of Columns widths

        #endregion Fields

        #region Methods

        public static void Print_DataGridView(DataGridView dgv1)
        {
            try
            {
                // Getting DataGridView object to print
                _dgv = dgv1;

                // Getting all Coulmns Names in the DataGridView
                _availableColumns.Clear();
                foreach (DataGridViewColumn c in _dgv.Columns.Cast<DataGridViewColumn>()
                                                     .Where(c => c.Visible))
                {
                    _availableColumns.Add(c.HeaderText);
                }

                // Showing the PrintOption Form
                var dlg = new PrintOptions(_availableColumns);
                if (dlg.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                _printTitle = dlg.PrintTitle;
                _printAllRows = dlg.PrintAllRows;
                _fitToPageWidth = dlg.FitToPageWidth;
                _selectedColumns = dlg.GetSelectedColumns();

                _rowsPerPage = 0;

                var ppvw = new PrintPreviewDialog
                           {
                               Document = printDoc
                           };

                // Showing the Print Preview Page
                printDoc.BeginPrint += PrintDoc_BeginPrint;
                printDoc.PrintPage += PrintDoc_PrintPage;
                printDoc.DefaultPageSettings.Landscape = true;
                ppvw.TopMost = true;

                if (ppvw.ShowDialog() != DialogResult.OK)
                {
                    printDoc.BeginPrint -= PrintDoc_BeginPrint;
                    printDoc.PrintPage -= PrintDoc_PrintPage;
                    return;
                }

                // Printing the Documnet
                printDoc.Print();
                printDoc.BeginPrint -= PrintDoc_BeginPrint;
                printDoc.PrintPage -= PrintDoc_PrintPage;
            }
            catch (Exception ex)
            {
                MessageBox.Show
                    (
                        ex.Message,
                        @"Error",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
            }
            finally
            {
            }
        }
コード例 #2
0
        public static void Print_DataGridView(DataGridView dgv1)
        {
            try
            {
                // Getting DataGridView object to print
                _dgv = dgv1;

                // Getting all Coulmns Names in the DataGridView
                AvailableColumns.Clear();
                foreach (DataGridViewColumn c in _dgv.Columns.Cast <DataGridViewColumn>()
                         .Where(c => c.Visible))
                {
                    AvailableColumns.Add(c.HeaderText);
                }

                // Showing the PrintOption Form
                var dlg = new PrintOptions(AvailableColumns);
                if (dlg.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                _printTitle      = dlg.PrintTitle;
                _printAllRows    = dlg.PrintAllRows;
                _fitToPageWidth  = dlg.FitToPageWidth;
                _selectedColumns = dlg.GetSelectedColumns();

                _rowsPerPage = 0;

                var ppvw = new PrintPreviewDialog
                {
                    Document = PrintDoc
                };

                // Showing the Print Preview Page
                PrintDoc.BeginPrint += PrintDoc_BeginPrint;
                PrintDoc.PrintPage  += PrintDoc_PrintPage;
                PrintDoc.DefaultPageSettings.Landscape = true;
                ppvw.TopMost = true;

                if (ppvw.ShowDialog() != DialogResult.OK)
                {
                    PrintDoc.BeginPrint -= PrintDoc_BeginPrint;
                    PrintDoc.PrintPage  -= PrintDoc_PrintPage;
                    return;
                }

                // Printing the Documnet
                PrintDoc.Print();
                PrintDoc.BeginPrint -= PrintDoc_BeginPrint;
                PrintDoc.PrintPage  -= PrintDoc_PrintPage;
            }
            catch (Exception ex)
            {
                MessageBox.Show
                (
                    ex.Message,
                    @"Error",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error);
            }
            finally
            {
            }
        }