Как напечатать сетку данных, где каждая строка печатается на новой странице? - PullRequest
0 голосов
/ 31 августа 2018

У меня есть таблица данных с информацией

a | b
--+--
3 | 3
4 | 4
5 | 5

Как я могу использовать функции печати в c # для печати 3,3 на странице 1 и 4,4 на странице 2, 5,5 на странице 3 и т. Д.

    private void printDocTicket_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
        float point = 60;

        for (int x = 0; x < DGVUpload.Rows.Count; x++)
        {
            point += 60;
            e.Graphics.DrawString(DGV["Sym3", x].Value.ToString(), new Font("Courier New", 30), Brushes.Black, 60 , point );
            e.Graphics.DrawString(DGV["Sym4", x].Value.ToString(), new Font("Courier New", 30), Brushes.Black, 250, point);

            if (x <= DGV.Rows.Count)
            {
                e.HasMorePages = false;
            }
            else
            {
                e.HasMorePages = true;
            }
        }
    }

1 Ответ

0 голосов
/ 04 сентября 2018

Изменение моего кода после осознания того, что e.HasMorePages перезапускает событие PrintPage, дало мне результаты, которые я искал.

int i;

private void printDocTicket_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    float point = 60;  

    e.Graphics.DrawString(DGV["Sym3", x].Value.ToString(), new Font("Courier New", 30), Brushes.Black, 60 , point );
    e.HasMorePages = true;
    i++;

    if(i == DGV.Rows.Count)
    {
        e.HasMorePages = false;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...