我在尝试获取dataGridView中特定列的值时遇到问题,并将它们添加到PdtPtable中。 但是重复了表中添加的值,例如第一行添加了两次。我试图遍历每一行和每一行中的每一行。
PdfPTable pdfTable= new PdfPTable(5);
foreach(DataGridViewRow row in dataGridView1.Rows) {
foreach (DataGridViewCell celli in row.Cells) {
try {
pdfTable.AddCell(celli.Value.ToString());
}
catch { }
}
doc.Add(pdfTable);
}
答案 0 :(得分:1)
我已在您的代码段中修复了缩进。你现在可以一眼就看出你做错了什么。
你有:
PdfPTable pdfTable= new PdfPTable(5);
foreach(DataGridViewRow row in dataGridView1.Rows) {
foreach (DataGridViewCell celli in row.Cells) {
try {
pdfTable.AddCell(celli.Value.ToString());
}
catch { }
}
doc.Add(pdfTable);
}
这意味着您正在创建一个表,将其添加的次数与行数相同,因此重复行。
你应该:
PdfPTable pdfTable= new PdfPTable(5);
foreach(DataGridViewRow row in dataGridView1.Rows) {
foreach (DataGridViewCell celli in row.Cells) {
try {
pdfTable.AddCell(celli.Value.ToString());
}
catch { }
}
}
doc.Add(pdfTable);
或者更好:
PdfPTable pdfTable= new PdfPTable(5);
foreach(DataGridViewRow row in dataGridView1.Rows) {
foreach (DataGridViewCell celli in row.Cells) {
pdfTable.AddCell(celli.Value.ToString());
}
}
doc.Add(pdfTable);
现在您只添加一次表。