将列表框传输到datagridview

时间:2017-02-28 19:02:33

标签: c# visual-studio visual-studio-2010

打印收据时一切正常。相反,添加订单时,只保存最后一个订单。我想把它们全部保存起来。

这是我的打印代码:

void printDocument_PrintPage(object sender, PrintPageEventArgs e)
        {
            Graphics graphics = e.Graphics;

            Font font = new Font("Courier New", 12);
            float fontHeight = font.GetHeight();
            int startx = 10;
            int starty = 10;
            int offset = 30;

            graphics.DrawString("Ho-Ga Catering", new Font("Courier New", 14), new SolidBrush(Color.Black), startx, starty);

            foreach (TabProdukt produkty in produkt)
            {
                *****string produktDescription = produkty.Opis.PadRight(30);*****

                string produktTotal = String.Format("{0:c}", produkty.Cena);
                string productLine = produktDescription + produktTotal;
                graphics.DrawString(productLine, font, new SolidBrush(Color.Black), startx, starty + offset);
                offset = offset + (int)fontHeight + 5;
            }
            offset = offset + 20;
            graphics.DrawString("Do zapłaty ".PadRight(30) + String.Format("{0:c}", TransactionTotal), font, new SolidBrush(Color.Black), startx, starty + offset);
        }

这是添加订单的代码

private void BtnPay_Click(object sender, EventArgs e)
        {
            TabTranzakcja tranzakcja = new TabTranzakcja();
            TabPodsumowanie podsumowanie = new TabPodsumowanie();
            podsumowanie.DataID = DateTime.Now ;

            List<string> list2 = new List<string>();
            for (int a = 0; a < Dane_Klienta.Items.Count; a++)
                list2.Add(Dane_Klienta.Items[a].ToString());
            string lista2 = string.Join(",", list2.ToArray());
            podsumowanie.Klient= lista2;
            podsumowanie.Suma = TransactionTotal;

            foreach (TabProdukt produkty in produkt)
            {
                ***podsumowanie.Zamówienie = produkty.Opis;***
            }
            POSre.AddToTabPodsumowanies(podsumowanie);

            POSre.SaveChanges();
            MessageBox.Show("Zapisano");

这是要添加到列表框的代码

void updateZamówienie(object sender, EventArgs e)
{
        Button b = (Button)sender;
        TabProdukt p = (TabProdukt)b.Tag;
        produkt.Add(p);
        UpdateCustomerInformationPanel(p);
        TransactionTotal = TransactionTotal + (decimal)p.Cena;

        Zamówienie.SelectedIndex = Zamówienie.Items.Count - 1;
    }

    private void UpdateCustomerInformationPanel(TabProdukt produkty)
    {
        string currentDescription = produkty.Opis;
        string currentCena = string.Format("{0:c}", produkty.Cena);
        string currentDescriptionPadded = currentDescription.PadRight(15);

以下是两个相关的屏幕截图:

https://zapodaj.net/images/b7a163837c430.png

https://zapodaj.net/images/62343aaec94c1.png

0 个答案:

没有答案