【发布时间】:2020-01-22 09:10:05
【问题描述】:
您好,感谢您抽出宝贵时间阅读这里,这是我的问题,我正在制作一个 Winforms 应用程序,它将与发票有关的所有相关数据提取到临时数据库 C#,然后毫无问题地将其拉入 Datagrid,我可以将Datagrid调用到我的pdf中也没有问题,我有一个问题是,对于数据网格中的每一行,我需要动态地将一个单元格添加到pdf并将唯一的项目信息填充到那些单元格中同一张发票,举个更清楚的例子
tranlinenum 1 是项目 A tranlinenum 2 是项目 B 和 tranlinenum 3 是 C 项
我可以让 pdf 为每个项目动态创建每个单元格/行,但在这些单元格和行中显示的信息不是针对该项目的,它们是针对第一个被拉出的项目
===========这是我的代码的开始===============
string lineNumberInput = dt.Rows[0][1].ToString();
string itemCodeInput = dt.Rows[0][12].ToString();
string itemNameInput = dt.Rows[0][13].ToString();
string QtyInput = dt.Rows[0][14].ToString();
string UnitPriceInput = dt.Rows[0][15].ToString();
//string Discount = dt.Rows[0][""].ToString();
string lineTotalInput = dt.Rows[0][16].ToString();
string wasReturnedInput = dt.Rows[0][17].ToString();
foreach (DataRow dataRow in dt.Rows)
{
var Cell_LineNumberList = new PdfPCell(new Phrase(lineNumberInput,
tablefont));
var Cell_ItemCodelist = new PdfPCell(new Phrase(itemCodeInput, tablefont));
var Cell_ItemNamelist = new PdfPCell(new Phrase(itemNameInput, tablefont));
var Cell_Qtylist = new PdfPCell(new Phrase(QtyInput, tablefont));
var Cell_UnitPricelist = new PdfPCell(new Phrase(UnitPriceInput, tablefont));
var Cell_Discountlist = new PdfPCell(new Phrase("None", tablefont));
var Cell_LineTotallist = new PdfPCell(new Phrase(lineTotalInput, tablefont));
var Cell_WasReturnedlist = new PdfPCell(new Phrase(wasReturnedInput,
tablefont));
t.AddCell(Cell_LineNumberList);
t.AddCell(Cell_ItemCodelist);
t.AddCell(Cell_ItemNamelist);
t.AddCell(Cell_Qtylist);
t.AddCell(Cell_UnitPricelist);
t.AddCell(Cell_Discountlist);
t.AddCell(Cell_LineTotallist);
t.AddCell(Cell_WasReturnedlist);
}
我还附上了发票的屏幕截图以及相关部件的外观
【问题讨论】: