[ad_1]
こんにちは皆さん、
レストランの POS を作成しましたが、リストビューの印刷で問題が発生しました
目標は、レシートに次のように印刷することです。
商品数量 単価 合計
なんとか印刷できるようにコーディングできましたが、別の問題が発生しました
次のコードを使用して
graphics.DrawString(" " + listView1.Items[0].SubItems[0].Text + " " + listView1.Items[0].SubItems[1].Text + " " + listView1.Items[2].SubItems[0].Text + " " + listView1.Items[0].SubItems[3].Text, new Font("Arial Bold", 11), new SolidBrush(Color.Black), startX, startY + Offset);
問題は、これではリストビューの 1 行しか印刷されないことです。
6行を印刷できるように前のコードを複数行追加してみました
ただし、行のいずれかが空の場合はエラーが発生します
ユーザーが追加した行数に応じて、リストビュー内のすべての項目とサブ項目を動的に印刷するにはどうすればよいですか?
私が試したこと:
印刷の完全なコードは次のとおりです
graphics.DrawString(" " + listView1.Items[0].SubItems[0].Text + " " + listView1.Items[0].SubItems[1].Text + " " + listView1.Items[2].SubItems[0].Text + " " + listView1.Items[0].SubItems[3].Text, new Font("Arial Bold", 11), new SolidBrush(Color.Black), startX, startY + Offset);
解決策 2
コメントなどですでにこれを理解しているように、完全を期すためにコードを次に示します。
for (int i = 0; i < listView1.Items.Count; i++) { // Not sure what/why these two are here int ii = 1; ii++; // Draw the row details for ? receipt graphics.DrawString(" " + listView1.Items[i].SubItems[0].Text + listView1.Items[i].SubItems[1].Text + listView1.Items[i].SubItems[2].Text + listView1.Items[i].SubItems[3].Text, new Font("Arial Bold", 11), new SolidBrush(Color.Black), startX, startY + Offset); // Move the next print position 'down the page' ie, y axis increases from top to bottom Offset = Offset + 20; }
解決策 3
オフセットがプログラムで宣言されている場所で、それを解決するのを手伝ってください
e.Graphics.DrawString(lvProductItems.Items[i].SubItems[0].Text + ” ” + lvProductItems.Items[i].SubItems[1].Text + ” ” + lvProductItems.Items[i].SubItems[2].Text + ” ” + lvProductItems.Items[i].SubItems[3].Text+ ” ” + lvProductItems.Items[i].SubItems[4].Text+ ” ” + lvProductItems.Items[i].SubItems[5].Text、新しい Font(“Cambria”, 9,FontStyle.Bold)、新しい SolidBrush(Color.Black)、15,215 + offset);
オフセットにエラーが表示されています
[ad_2]
コメント