就是我的打印页有几个变量,这些变量都是从数据库中读入的,从数据库每读入一行就生成一个新的打印页,也就是在打印预览里有了多页预览,小弟表述不是很清楚,说的不对的地方多包含,大致就是这么一个意思。以下是代码private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{ Graphics g = e.Graphics; e.Graphics.DrawString("盘点时间", new Font("Arial", 16, FontStyle.Bold), Brushes.Black, 130, 130);
e.Graphics.DrawString("机种", new Font("Arial", 16, FontStyle.Bold), Brushes.Black, 130, 210);
e.Graphics.DrawString(jz, new Font("Arial", 16, FontStyle.Bold), Brushes.Black, 130, 210);
}
这就是打印页,jz是从数据库读入的,比如我从数据库读入了10行,就有10个打印预览页,每一页的jz就对应从数据库读入的10行中每一行。求高手解答,小弟研究了2天,还是没研究出来。
{ Graphics g = e.Graphics; e.Graphics.DrawString("盘点时间", new Font("Arial", 16, FontStyle.Bold), Brushes.Black, 130, 130);
e.Graphics.DrawString("机种", new Font("Arial", 16, FontStyle.Bold), Brushes.Black, 130, 210);
e.Graphics.DrawString(jz, new Font("Arial", 16, FontStyle.Bold), Brushes.Black, 130, 210);
}
这就是打印页,jz是从数据库读入的,比如我从数据库读入了10行,就有10个打印预览页,每一页的jz就对应从数据库读入的10行中每一行。求高手解答,小弟研究了2天,还是没研究出来。
{
PrintPreviewDialog printPreviewDialog = new PrintPreviewDialog();
printPreviewDialog.Document = printDocument1;
try
{
printPreviewDialog.ShowDialog();
}
catch (Exception excep)
{
MessageBox.Show(excep.Message, "打印出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
这个是打印预览的代码,是不是哪里要修改
// e.HasMorePages = true; }这里写代码,弄个计数变量。
打个比方:
m_iCurrentLine = 0;//初值
每打一页,m_iCurrentLine++;
hstMorepages = m_iCurrentLine == (lst.count - 1)
假定lst中存的是你要打印的内容。
假定lst中存的是你要打印的内容。
这个代码我不是太理解,能说详细点么
其实,我的demo的本意就是 lst[i] 就是第i页的所有需要打印的数据,你能把你的一页数据做成一个object吧.
放在打印页面的事件中。
hasMorepages = m_iCurrentLine == (lst.count - 1)如果你还不理解,这样,你就 做个 List<string> lst ,
每页只打印一个字符串。你就明白 整个过程了。