打印收据时一切正常。相反,添加订单时,只保存最后一个订单。我想把它们全部保存起来。
这是我的打印代码:
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);
以下是两个相关的屏幕截图: