TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
kevin
NA
23
16.2k
DatagridView Print Priview
Nov 10 2014 12:59 AM
I want to Print Preview Datagridview, I get this Message Document does not contain any Pages
here is my code
private
void
printDocument1_PrintPage(
object
sender,System.Drawing.Printing.
PrintPageEventArgs
e)
{
System.Drawing.
Font
b_font =
new
System.Drawing.
Font
(
this
.Font,
FontStyle
.Bold);
Graphics
g = e.Graphics;
DrawForm(e);
DrawDataGridView(b_font, g);
}
private
void
DrawForm(System.Drawing.Printing.
PrintPageEventArgs
e)
{
Bitmap
bmp=
new
Bitmap
(impdg.Width,impdg.Height);
impdg.DrawToBitmap(bmp,
new
System.Drawing.
Rectangle
(0, 0, impdg.Width, impdg.Height));
e.Graphics.DrawImage(bmp,
new
System.Drawing.
Point
(0, 0));
}
private
void
DrawDataGridView(System.Drawing.
Font
b_font,
Graphics
g)
{
int
columnpos = 0;
int
rowpos = 25;
DrawHeaders(b_font, g,
ref
columnpos,
ref
rowpos);
rowpos += 65;
DrawGridBody(g,
ref
columnpos,
ref
rowpos);
}
private
void
DrawGridBody(
Graphics
g,
ref
int
columnpos,
ref
int
rowpos)
{
foreach
(
DataRow
dr
in
ds.Tables[0].Rows)
{
columnpos = 0;
g.DrawLine(
Pens
.Black,
new
System.Drawing.
Point
(0, rowpos),
new
System.Drawing.
Point
(
this
.Width, rowpos));
foreach
(
DataGridViewColumn
dc
in
impdg.Columns)
{
string
text = dr[dc.DataPropertyName].ToString();
if
(dc.DefaultCellStyle.Font !=
null
)
g.DrawString(text, dc.DefaultCellStyle.Font,
Brushes
.Black, (
float
)columnpos, (
float
)rowpos + 20f);
else
g.DrawString(text,
this
.Font,
Brushes
.Black, (
float
)columnpos, (
float
)rowpos + 20f);
columnpos += dc.Width + 5;
}
rowpos = rowpos + 65;
}
}
private
int
DrawHeaders(System.Drawing.
Font
b_font,
Graphics
g,
ref
int
columnpos,
ref
int
rowpos)
{
foreach
(
DataGridViewColumn
dc
in
impdg.Columns)
{
g.DrawString(dc.HeaderText,b_font,
Brushes
.Black,(
float
)columnpos,(
float
)rowpos);
columnpos+=dc.Width+5;
}
return
columnpos;
}
private
void
printPreview_Click(
object
sender,
EventArgs
e)
{
prntpriew =
new
PrintPreviewDialog
();
if
(prntpriew.ShowDialog() ==
DialogResult
.OK)
{
prntpriew.ShowDialog();
}
}
Reply
Answers (
1
)
help with code
What is the time complexity of binary sort in C++?