-2
3 페이지를 넘을 수있는 테이블이 있습니다. 그러나 각 페이지에 10 개의 행만 넣기를 원합니다. 10 줄마다 페이지 나누기를 추가 할 수 있습니까? 나는 카운트를 추가하려고 시도하고 매 10 행마다 페이지 나누기를 삽입하지만 페이지 나누기는 테이블의 맨 위로 이동하므로 테이블은 두 번째 페이지에서 시작됩니다. 코드 아래iTextsharp 테이블의 10 개 행마다 페이지 나누기 삽입
이 DataSet dsTable = null;
dsTable = DataUtils.GetTableProperties(CompNew.CompanyID, "InvoicePrint");
iTextSharp.text.pdf.PdfPTable table = new PdfPTable(dsTable.Tables[1].Rows.Count);
table.WidthPercentage = 100;
int count = 0;
foreach (DataRow record in records.Tables[0].Rows)
{
foreach (string Heading in Headings)
{
table.AddCell(new Paragraph(record[Heading].ToString(), arialBold));
}
if (count != 0)
{
if ((count % 10) == 0)
{
document.NewPage();
}
}
count++;
}
paragraphTable1.Add(table);
document.Add(paragraphTable1);
내가 대답을 만들기 시작했다,하지만 난 당신의 질문에 추가하지 마십시오 너무 많은 것들을 있기 때문에 중단했다; 그래서 나는 당신의 질문에 대해 아래로 투표를 끝내었다. 예를 들면 :'dsTable'은 무엇입니까? 당신은'PdfPTable' (행의 수를 사용하여 ???)의 열 수를 결정할 때만 이것을 사용합니다. 'records'를 반복하지만 표제 만 추가합니까? 실제 콘텐츠를 어디에 추가합니까? 또한, 실제 문제는 무엇입니까? 10 행이 페이지 크기를 초과하면 어떻게 될까요? 행이 분할되지 않도록 속성을 설정하지 않겠습니까? iText 7을 사용하지 않는 이유는 무엇입니까? 이 프로젝트는 현재 진행중인 레거시 프로젝트입니까? –
가장 좋은 대답은 다음과 같을 것이라고 생각합니다. 페이지의 행 수를 걱정하지 마십시오. 행이 분할되지 않도록하십시오. 그것은 분명하지 않습니다 * 왜 * 모든 페이지에 10 행을 갖고 싶어. 당신이 우리에게주는 이유는 더 우아한 해결책을 가지고있는 문제에 대한 나쁜 해결 방법 인 것처럼 들립니다. –