|
|
|
C# สั่ง Print ข้อมูลจาก DataGridView แบบหลายๆ หน้า ยังไงครับ? |
|
|
|
|
|
|
|
คือผมสั่งพิมพ์ออกได้แล้วครับ
ข้อมูลสมาชิก เยอะมาก หลายคน
แต่ มันออกเพียงหน้าเดียว ก็หยุดพิมพ์
ผมอยากให้พิมพ์ต่อจนหมดแถวของ DataGridView
ไม่ทราบว่าต้องทำยังไงครับ...
Code (C#)
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
StringBuilder newlineTesting = new StringBuilder();
int position = 80;
e.Graphics.DrawString("------------------------------------------------------------------------------------------------------------------------------------------------------------", new Font("Angsana New", 15), Brushes.Black, 50, 25);
e.Graphics.DrawString("สมาชิก" + " | " + "คู่สมรส" + " | " + " " + " | " + "ชื่อ" + " | " + " | " + "สกุล" + " | " + " ประเภท" + " | " + " ยอดเงิน", new Font("Angsana New", 15), Brushes.Black, 50, 40);
e.Graphics.DrawString("------------------------------------------------------------------------------------------------------------------------------------------------------------", new Font("Angsana New", 15), Brushes.Black, 50, 50);
foreach (DataGridViewRow item in dataGridView3.Rows)
{
e.Graphics.DrawString((string)item.Cells[0].Value.ToString(), new Font("Angsana New", 15), Brushes.Black, 50, position);
e.Graphics.DrawString((string)item.Cells[1].Value.ToString(), new Font("Angsana New", 15), Brushes.Black, 120, position);
e.Graphics.DrawString((string)item.Cells[2].Value.ToString(), new Font("Angsana New", 15), Brushes.Black, 240, position);
e.Graphics.DrawString((string)item.Cells[3].Value.ToString(), new Font("Angsana New", 15), Brushes.Black, 350, position);
e.Graphics.DrawString((string)item.Cells[4].Value.ToString(), new Font("Angsana New", 15), Brushes.Black, 470, position);
e.Graphics.DrawString((string)item.Cells[5].Value.ToString(), new Font("Angsana New", 15), Brushes.Black, 520, position);
position += 22;
}
}
Tag : .NET, LINQ, Windows
|
ประวัติการแก้ไข 2012-10-05 09:17:34 2012-10-05 09:18:14
|
|
|
|
|
Date :
2012-10-03 15:11:57 |
By :
โบโน |
View :
3182 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนด้วยครับ
|
|
|
|
|
Date :
2012-10-05 09:18:34 |
By :
โบโน |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับพี่วิน
|
|
|
|
|
Date :
2012-10-05 13:09:40 |
By :
โบโน |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้วิธ๊ยังไง เขียนบอกด้วยครับ
|
|
|
|
|
Date :
2012-10-05 14:11:38 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังไม่ได้เลยครับพี่วิน ผลลัพท์ ตอนนี้คือ มันสั่งพิมพ์
หน้า 1 ลำดับที่ 1 - 50
หน้าที่ 2 ก็ลำดับที่ 1-50
หน้าต่อๆไป ก็ 1-50 ..........
ยังหาทางสั่งให้ หน้า 2 เป็นลำดับที่ 51 -100 อยู่ครับ
ยังไม่ได้เลยครับ !!!
|
ประวัติการแก้ไข 2012-10-05 14:25:35
|
|
|
|
Date :
2012-10-05 14:21:50 |
By :
โบโน |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จากข้อความข้างบน ผมแก้แบบนี้ครับ ยังไม่ได้ครับ มีท่านใดพอเมตตาไหมครับ?
Code (C#)
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
StringBuilder newlineTesting = new StringBuilder();
int position = 80;
// int y = e.MarginBounds.Top;
foreach (DataGridViewRow item in dataGridView3.Rows)
{
e.Graphics.DrawString("------------------------------------------------------------------------------------------------------------------------------------------------------------", new Font("Angsana New", 15), Brushes.Black, 50, 25);
e.Graphics.DrawString("สมาชิก" + " | " + "คู่สมรส" + " | " + " " + " | " + "ชื่อ" + " | " + " | " + "สกุล" + " | " + " ประเภท" + " | " + " ยอดเงิน", new Font("Angsana New", 15), Brushes.Black, 50, 40);
e.Graphics.DrawString("------------------------------------------------------------------------------------------------------------------------------------------------------------", new Font("Angsana New", 15), Brushes.Black, 50, 50);
e.Graphics.DrawString((string)item.Cells[0].Value.ToString(), new Font("Angsana New", 15), Brushes.Black, 50, position);
e.Graphics.DrawString((string)item.Cells[1].Value.ToString(), new Font("Angsana New", 15), Brushes.Black, 120, position);
e.Graphics.DrawString((string)item.Cells[2].Value.ToString(), new Font("Angsana New", 15), Brushes.Black, 240, position);
e.Graphics.DrawString((string)item.Cells[3].Value.ToString(), new Font("Angsana New", 15), Brushes.Black, 350, position);
e.Graphics.DrawString((string)item.Cells[4].Value.ToString(), new Font("Angsana New", 15), Brushes.Black, 470, position);
e.Graphics.DrawString((string)item.Cells[5].Value.ToString(), new Font("Angsana New", 15), Brushes.Black, 520, position);
position += 22;
//if (y >= e.MarginBounds.Bottom)
if (position >= e.MarginBounds.Bottom)
{
e.HasMorePages = true;
return;
}
else
{
e.HasMorePages = false;
}
}
}
|
ประวัติการแก้ไข 2012-10-08 15:50:27
|
|
|
|
Date :
2012-10-08 15:49:25 |
By :
โบโน |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|