我试图将具有表格的单元格添加到外部表格中。 我收到了以下错误。
"在colspan为1和rowspan的位置(6,0)添加一个单元格 1是非法的(超出边界/重叠)"
这似乎就像是itextsharp中的一个错误。
我在里面找到了一个控件(在这种情况下所有控件都是标签) ' tblinner'并将其添加到itextsharp表中。 我怎么能克服这个?
for (int i = 0; i < tblInner.Rows.Count; i++)
{
iTextSharp.text.Table tblnested = new iTextSharp.text.Table(4);
iTextSharp.text.Table tblnestedbig = new iTextSharp.text.Table(1);
iTextSharp.text.Cell pdfTCell = new iTextSharp.text.Cell();
iTextSharp.text.Cell pdfTCellbig = new iTextSharp.text.Cell();
foreach (TableCell tCellInner in tblInner.Rows[i].Cells)
{
pdfTCell = new iTextSharp.text.Cell();
int cc = tblInner.Rows[i].Cells.Count;
Control tControlInnerLabel = tCellInner.Controls[0];
pdfTCell = AddControlBGToPDFTable(tControlInnerLabel, tblnested);//This function adds the control such as lable or image to tblnested
tblnestedbig.AddCell(pdfTCell);
}
pdfTCellbig.AddElement(tblnestedbig);
pdfTable.AddCell(pdfTCellbig);//i get error here
}
以下是&#39; AddControlBGToPDFTable&#39;确实
private static iTextSharp.text.pdf.PdfPCell AddControlBGToPDFTable(Control tControl, iTextSharp.text.pdf.PdfPTable pdfTable)
{
(tControl is Label)
{
Label lbl = (Label)tControl.FindControl(tControl.ID);
// add some style to control
iTextSharp.text.pdf.PdfPCell pdfTable2Cell2 = null;
pdfTable2Cell2.Colspan = 1;
pdfTable2Cell2 = pdfOrigTCell;
pdfTable2Cell2.AddElement(new iTextSharp.text.Phrase(25f,lbl.Text.Replace("<br>", "\r\n").Replace("<br />", "\r\n"), new iTextSharp.text.Font(iTextSharp.text.Font.HELVETICA, 12, style)));
pdfTable.AddCell(pdfTable2Cell2);
return pdfTCell;
}
}
答案 0 :(得分:0)
你应该发布方法AddControlBGToPDFTable的代码,我们可以看到你设置为单元格的属性。
您可以使用PdfPCell
和PdfPTable
。
iTextSharp.text.pdf.PdfPCell cell = new iTextSharp.text.pdf.PdfPCell();
cell.Phrase = new iTextSharp.text.Phrase("some text");