Captain Tsubasa
سه شنبه 13 بهمن 1388, 03:21 صبح
سلام دوستان عزیز
یه سوال داشتم.من یه پایگاه اطلاعاتی دارم که میخوام اون رو توی جدول چاپ کنم.جدول من 27 خونه بیشتر نداره واگر اطلاعات من بیشتر از 27 تا شد من چجوری باید کد بنویسم تا توی صفحه بعد چاپ کنه.
این کدی که من برای چاپ نوشتم:
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
float w = 210f, h = 297;
e.Graphics.PageUnit = GraphicsUnit.Millimeter;
FontFamily fmTahoma = new FontFamily("Tahoma");
StringFormat format_Right = new StringFormat(StringFormatFlags.NoClip);
StringFormat format_Left = new StringFormat(format_Right);
StringFormat format_Center = new StringFormat(format_Right);
format_Right.Alignment = StringAlignment.Far;
format_Left.Alignment = StringAlignment.Near;
format_Center.Alignment = StringAlignment.Center;
Font fTahoma_10 = new Font(fmTahoma, 10, FontStyle.Regular);
Font fTahoma_14 = new Font(fmTahoma, 14, FontStyle.Bold);
Font fTahoma_12 = new Font(fmTahoma, 12, FontStyle.Bold);
Pen P01 = new Pen(Color.Black, 0.1f);
Pen P05 = new Pen(Color.Black, 0.5f);
e.Graphics.DrawString("لیست کتاب های ادبیات", fTahoma_14, Brushes.Black, 105, 2, format_Center);
e.Graphics.DrawRectangle(P05, 5, 10, 190, 280);
e.Graphics.DrawLine(P05,180,10,180,290);
e.Graphics.DrawLine(P05, 140, 10, 140, 290);
e.Graphics.DrawLine(P05, 100, 10, 100, 290);
e.Graphics.DrawLine(P05, 60, 10, 60, 290);
for(int i=280;i>0;i-=10)
e.Graphics.DrawLine(P05, 5, i, 195, i);
e.Graphics.DrawString("کد", fTahoma_12, Brushes.Black, 187, 12, format_Center);
e.Graphics.DrawString("عنوان", fTahoma_12, Brushes.Black, 160, 12, format_Center);
e.Graphics.DrawString("نویسنده", fTahoma_12, Brushes.Black, 120, 12, format_Center);
e.Graphics.DrawString("سال انتشار", fTahoma_12, Brushes.Black, 80, 12, format_Center);
e.Graphics.DrawString("ملاحظات", fTahoma_12, Brushes.Black, 33, 12, format_Center);
int a, b, c=23;
b = dataGridView1.RowCount;
for (a = 0; a < b; a++,c+=10)
{
e.Graphics.DrawString(dataGridView1[1, a].Value.ToString(), fTahoma_10, Brushes.Black, 187, c, format_Center);
e.Graphics.DrawString(dataGridView1[2, a].Value.ToString(), fTahoma_10, Brushes.Black, 160, c, format_Center);
e.Graphics.DrawString(dataGridView1[3, a].Value.ToString(), fTahoma_10, Brushes.Black, 120, c, format_Center);
e.Graphics.DrawString(dataGridView1[4, a].Value.ToString(), fTahoma_10, Brushes.Black, 80, c, format_Center);
}
}
کسی میدونه من دقیقا باید چیکار کنم؟
یه سوال داشتم.من یه پایگاه اطلاعاتی دارم که میخوام اون رو توی جدول چاپ کنم.جدول من 27 خونه بیشتر نداره واگر اطلاعات من بیشتر از 27 تا شد من چجوری باید کد بنویسم تا توی صفحه بعد چاپ کنه.
این کدی که من برای چاپ نوشتم:
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
float w = 210f, h = 297;
e.Graphics.PageUnit = GraphicsUnit.Millimeter;
FontFamily fmTahoma = new FontFamily("Tahoma");
StringFormat format_Right = new StringFormat(StringFormatFlags.NoClip);
StringFormat format_Left = new StringFormat(format_Right);
StringFormat format_Center = new StringFormat(format_Right);
format_Right.Alignment = StringAlignment.Far;
format_Left.Alignment = StringAlignment.Near;
format_Center.Alignment = StringAlignment.Center;
Font fTahoma_10 = new Font(fmTahoma, 10, FontStyle.Regular);
Font fTahoma_14 = new Font(fmTahoma, 14, FontStyle.Bold);
Font fTahoma_12 = new Font(fmTahoma, 12, FontStyle.Bold);
Pen P01 = new Pen(Color.Black, 0.1f);
Pen P05 = new Pen(Color.Black, 0.5f);
e.Graphics.DrawString("لیست کتاب های ادبیات", fTahoma_14, Brushes.Black, 105, 2, format_Center);
e.Graphics.DrawRectangle(P05, 5, 10, 190, 280);
e.Graphics.DrawLine(P05,180,10,180,290);
e.Graphics.DrawLine(P05, 140, 10, 140, 290);
e.Graphics.DrawLine(P05, 100, 10, 100, 290);
e.Graphics.DrawLine(P05, 60, 10, 60, 290);
for(int i=280;i>0;i-=10)
e.Graphics.DrawLine(P05, 5, i, 195, i);
e.Graphics.DrawString("کد", fTahoma_12, Brushes.Black, 187, 12, format_Center);
e.Graphics.DrawString("عنوان", fTahoma_12, Brushes.Black, 160, 12, format_Center);
e.Graphics.DrawString("نویسنده", fTahoma_12, Brushes.Black, 120, 12, format_Center);
e.Graphics.DrawString("سال انتشار", fTahoma_12, Brushes.Black, 80, 12, format_Center);
e.Graphics.DrawString("ملاحظات", fTahoma_12, Brushes.Black, 33, 12, format_Center);
int a, b, c=23;
b = dataGridView1.RowCount;
for (a = 0; a < b; a++,c+=10)
{
e.Graphics.DrawString(dataGridView1[1, a].Value.ToString(), fTahoma_10, Brushes.Black, 187, c, format_Center);
e.Graphics.DrawString(dataGridView1[2, a].Value.ToString(), fTahoma_10, Brushes.Black, 160, c, format_Center);
e.Graphics.DrawString(dataGridView1[3, a].Value.ToString(), fTahoma_10, Brushes.Black, 120, c, format_Center);
e.Graphics.DrawString(dataGridView1[4, a].Value.ToString(), fTahoma_10, Brushes.Black, 80, c, format_Center);
}
}
کسی میدونه من دقیقا باید چیکار کنم؟