Я создал систему POS, в форме продаж пользователь добавляет товары в datagridview, а затем он сохраняется в базе данных.
В настоящее время я делаю кнопку сохранения, чтобы распечатать квитанцию, но яЯ хочу добавить эти элементы таблицы данных в квитанцию, но, видимо, я сделал это неправильно
это строки для печати
string welcome = "Thank You For Visiting Dulabk";
string InvoiceNo = txtInvoiceNo.Text;
string InvoiceDate = dateTimePicker1.Value.ToLongDateString();
string list = dataGridView1.Rows[i].Cells[1].Value, dataGridView1.Rows[i].Cells[3].Value, dataGridView1.Rows[i].Cells[0].Value;
Bitmap bitm = new Bitmap(list.Length * 30, 90);
using (Graphics graphic = Graphics.FromImage(bitm))
, поэтому, вероятно, значения таблицы данных должны быть записаны иначе, я полагаю
Я использую оператор for для ввода в базу данных
for (int i = 0; i<dataGridView1.Rows.Count; i++ )
{
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=TS-POS.accdb");
OleDbCommand cmd = new OleDbCommand("INSERT INTO Sales (InvoiceNo,InvoiceDate, Pname, Pprice, Bcode, Staff) VALUES ('" + txtInvoiceNo.Text + "','" + dateTimePicker1.Value + "', '" + dataGridView1.Rows[i].Cells[1].Value + "', '" + dataGridView1.Rows[i].Cells[3].Value + "', '" + dataGridView1.Rows[i].Cells[0].Value + "', '" + lblUser.Text + "')", conn);
// cmd.Parameters.AddWithValue("@staff", OleDbType.VarChar).Value = lblUser.Text;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
Ok Last Update, теперь печатаю всю информацию, но у меня проблемы со всей печатью в одной строке кода ниже. Я пытался использовать pointf, но это не помогло.
private void printready()
{
stri
ng welcome = "Thank You For Visiting Dulabk";
string InvoiceNo = txtInvoiceNo.Text;
string InvoiceDate = dateTimePicker1.Value.ToLongDateString();
Bitmap bitm = new Bitmap(welcome.Length * 30, 90);
using (Graphics graphic = Graphics.FromImage(bitm))
{
Font newfont = new Font("Arial Black", 8);
Font newfont2 = new Font("Arial Black", 10);
PointF point = new PointF(40f, 2f);
SolidBrush black = new SolidBrush(Color.Black);
SolidBrush white = new SolidBrush(Color.White);
graphic.FillRectangle(white, 0, 0, bitm.Width, bitm.Height);
graphic.DrawString("" + InvoiceNo + "", newfont2, black, point);
PointF pointPrice = new PointF(15f, 45f);
graphic.DrawString("" + InvoiceDate + "", newfont2, black, pointPrice);
PointF pointPname = new PointF(10f, 65f);
PointF pointBar = new PointF(10f, 65f);
graphic.DrawString("" + welcome + "", newfont2, black, pointBar);
PointF pointList = new PointF(10f, 65f);
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
graphic.DrawString(" " + dataGridView1.Rows[i].Cells[0].Value +"" + dataGridView1.Rows[i].Cells[1].Value +"" + dataGridView1.Rows[i].Cells[2].Value +"" , new Font("Arial Bold", 11),
new SolidBrush(Color.Black), pointList);
}
PointF pointItemEnd = new PointF(10f, 65f);
graphic.DrawString(" ---------- ", newfont2, black, pointItemEnd);
}
using (MemoryStream Mmst = new MemoryStream())
{
bitm.Save("ms", ImageFormat.Jpeg);
pictureBox1.Image = bitm;
pictureBox1.Width = bitm.Width;
pictureBox1.Height = bitm.Height;
}