Как я могу установить количество копий, равное количеству в DataGridView - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть 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 этикеток для теста, но почему-то все они пусты.Извините за плохой английский.

...