Как сделать печать mulitpage datagrid с помощью средства просмотра документов на языке C#
Я пытаюсь распечатать сетку данных с помощью средства просмотра документов на c#. Проблема заключается в том, что он содержит больше данных, чем одна страница. это не создание 2-й страницы. я думаю, что в моем коде есть какая-то пропажа или ошибка. мой код отображает оставшиеся данные, но на той же странице, а не на следующей. Пожалуйста, помогите мне, ребята. заранее спасибо.
Что я уже пробовал:
Растровое изображение в формате BMP = "свойства".Ресурсы.small_1276_57178cc54660e_png_128x128;
Система.Рисование.Изображение newImage = bmp;
е.Графика.DrawImage (newImage, 40, 20, newImage.Ширина, новое изображение.Высота);
//// Заголовок
е.Графика.DrawString("Asif Traders", новая система.Рисование.Шрифт ("Arial", 20, FontStyle.Жирный), Кисти.Черный, новая точка (350, 60));
е.Графика.DrawString ("адрес:", новая система.Рисование.Шрифт ("Arial", 12, FontStyle.Обычная), Кисти.Черный, новая точка (280, 95));
е.Графика.DrawString ("рынок Бано, Железнодорожный базар, Арифвала", новая система.Рисование.Шрифт ("Ариал", 12), Кисти.Черный, новая точка (300, 95));
е.Графика.DrawString ("телефон #:", новая система.Рисование.Шрифт ("Arial", 12, FontStyle.Обычная), Кисти.Черный, новая точка (310, 115));
е.Графика.Шнурок ("0300-8575917", новая система.Рисование.Шрифт ("Ариал", 12), Кисти.Черный, новая точка (360, 115));
е.Графика.DrawString ("дата:", новая система.Рисование.Шрифт ("Arial", 12, FontStyle.Обычная), Кисти.Черный, новая точка (310, 200));
е.Графика.Шнурок(dateTimePicker1.Текст новой системы.Рисование.Шрифт ("Ариал", 12), Кисти.Черный, новая точка (310, 220));
е.Графика.DrawString ("Time:", новая система.Рисование.Шрифт ("Arial", 12, FontStyle.Обычная), Кисти.Черный, новая точка (530, 225));
е.Графика.Шнурок(Типа Datetime.Сейчас.Метод toString("чч:мм:СС ТТ", система.Глобализация.Объекта datetimeformatinfo.InvariantInfo),
новая система.Рисование.Шрифт ("Ариал", 12), Кисти.Черный, новая точка (600, 225));
е.Графика.Шнурок(label9.Текст новой системы.Рисование.Шрифт ("Ариал", 12), Кисти.Черный, новая точка (25, 250));
е.Графика.DrawString("имя учетной записи", новая система.Рисование.Шрифт ("Ариаль", 16), Кисти.Черный, новая точка (50, 280));
е.Графика.DrawString ("закрытие баланса", новая система.Рисование.Шрифт ("Ариаль", 16), Кисти.Черный, новая точка (580, 280));
е.Графика.Шнурок(label9.Текст новой системы.Рисование.Шрифт ("Ариал", 12), Кисти.Черный, новая точка (25, 300));
е.Графика.DrawLine (новое перо (цвет.Черный, 1), новая точка(28, 267), новая точка(28, 858));
е.Графика.DrawLine (новое перо (цвет.Черный, 1), новая точка(786, 267), новая точка(786, 858));
Графика графика = e. Graphics;
Система.Рисование.Шрифт font = новая система.Рисование.Шрифт ("Ариал", 10);
float fontHeight = шрифт.GetHeight();
int startX = 70;
int startY = 320;
Int Offset = 20;
int a = 100;
for (int i = 0; i <dataGridView1. Rows.Граф; i++)
{
if (i > dataGridView1. Rows[0].Высота)
{
dataGridView1. Rows[0].Высота = 50;
е.HasMorePages = истина;
вернуть;
}
ещё
{
e. HasMorePages = false;
}
графика.Шнурок (Новообращенный.Метод toString(dataGridView1.Строки[я].Ячейки[1]. Значение), новый шрифт ("Courier New", 10), Новая сплошная кисть (Color.Черный), startX, startY + Offset);
графика.DrawString("\t " + Convert.Метод toString(dataGridView1.Строки[я].Ячейки[4]. Значение), новый шрифт ("Courier New", 10), Новая сплошная кисть (Color.Черный), 280, 350 + Смещение);
графика.Шнурок (Новообращенный.Метод toString(dataGridView1.Строки[я].Ячейки[2]. Значение), новый шрифт ("Courier New", 10), Новая сплошная кисть (Color.Черный), 510, startY + Offset);
графика.DrawString("\t " + Convert.Метод toString(dataGridView1.Строки[я].Ячейки[5]. Значение), новый шрифт ("Courier New", 10), Новая сплошная кисть (Color.Черный), 600, 320 + Смещение);
е.Графика.Шнурок(label9.Текст новой системы.Рисование.Шрифт ("Ариал", 12), Кисти.Черный, новая точка (25, 340));
Смещение = Смещение + 25;
е.Графика.Шнурок(label9.Текст новой системы.Рисование.Шрифт ("Ариал", 12), Кисти.Черный, новая точка(25, смещение + начало));
Смещение = Смещение + 25;
}
е.Графика.Шнурок(label9.Текст новой системы.Рисование.Шрифт ("Ариал", 12), Кисти.Черный, новая точка(25, смещение + начало + 10));