У меня есть Datagridview, который связан с листами Excel.Мой лист Excel - хорошая квитанция, которая содержит количество предметов.Теперь я хочу напечатать этикетки столько, сколько нужно.Например, если у меня есть 10 футболок, я хочу напечатать 10 этикеток с количеством 1.
Я уже попробовал следующий код.
private void btnSingle_Click(object sender, EventArgs e)
{
BindingList<LableClass> GoodReceipt= new BindingList<LableClass>();
GoodReceipt.Add(new LableClass()
{
Charge = dataGridView1.SelectedCells[0].Value.ToString(),
ItemNr= dataGridView1.SelectedCells[1].Value.ToString(),
Description= dataGridView1.SelectedCells[2].Value.ToString(),
Quantity= float.Parse(dataGridView1.SelectedCells[8].Value.ToString())
});
LableClassBindingSource.DataSource = GoodReceipt;
PrinterSettings prtSetting = new PrinterSettings();
foreach (PaperSize item in prtSetting.PaperSizes)
{
if (item.PaperName == "62mm x 29mm")
prtSetting.DefaultPageSettings.PaperSize = item;
}
PageSettings ps = new PageSettings(prtSetting);
ps.Landscape = false;
ps.Margins.Top = 8;
ps.Margins.Bottom = 0;
ps.Margins.Left = 6;
ps.Margins.Right = 0;
PrintDocument prtDoc = new PrintDocument();
prtDoc.PrinterSettings = prtSetting;
prtSetting.Copies = 5;
prtSetting.FromPage = 1;
prtSetting.ToPage = 5;
reportViewer1.SetPageSettings(ps);
prtDoc.Print();
reportViewer1.RefreshReport();
}
Я попытался напечатать 5 этикеток для теста, но почему-то все они пусты.Извините за плохой английский.