Impression DataGridView

J'ai mis en place le formulaire où j'ai DataGridView Avec réservations, je peux actuellement imprimer DataGridView, Mais seulement ce qui est affiché sur l'écran, toutes les données visibles uniquement lorsque le défilement n'est pas imprimé.

Comment changer votre code pour que lorsque vous appuyez sur le bouton Imprimer, tout /y compris les données visualisées lors du défilement/ Imprimé sur la page?


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace project
{
public partial class frmViewBookings : Form
{
public frmViewBookings//
{
InitializeComponent//;
}

private void btnClose_Click/object sender, EventArgs e/
{
Form3 mainpage = new Form3//;
mainpage.Show//;
this.Close//;
}

private void frmViewBookings_Load/object sender, EventArgs e/
{
// TODO: This line of code loads data into the 'usersDataSet1.Booking' table. You can move, or remove it, as needed.
this.bookingTableAdapter.Fill/this.usersDataSet1.Booking/;
}

private void printDocument1_PrintPage/object sender, System.Drawing.Printing.PrintPageEventArgs e/
{
Bitmap bm = new Bitmap/this.dataGridView1.Width, this.dataGridView1.Height/;
this.dataGridView1.DrawToBitmap/bm, new Rectangle/0, 0, this.dataGridView1.Width, this.dataGridView1.Height//;
e.Graphics.DrawImage/bm, 0, 0/;
}

private void btnPrint_Click/object sender, EventArgs e/
{
printDocument1.Print//;
}
}
}
Invité:

Blanche

Confirmation de:

Ce que vous devez faire est de créer une forme fictive avec la taille de la commande que vous souhaitez imprimer, puis ajoutez un élément de forme fictive, affichez la forme et imprimez un élément de la commande sur le mannequin.

C'est comme ça que je l'ai fait:


private void printDocument1_PrintPage/object sender, System.Drawing.Printing.PrintPageEventArgs e/
{
//Create bitmap
Bitmap image = new Bitmap/dataGridView1.Width, dataGridView1.Height/;
//Create form
Form f = new Form//;
//add datagridview to the form
f.Controls.Add/dataGridView1/;
//set the size of the form to the size of the datagridview
f.Size = dataGridView1.Size;
//draw the datagridview to the bitmap
dataGridView1.DrawToBitmap/image, new Rectangle/0, 0, dataGridView1.Width, dataGridView1.Height//;
//dispose the form
f.Dispose//;
//print
e.Graphics.DrawImage/image, 0, 0/;
}

Pour répondre aux questions, connectez-vous ou registre