如何删除从 ListView 生成的 PDF 格式的 ListViewSubItem?
How to remove the `ListViewSubItem` form PDF generated from `ListView`?
将我的 ListView
导出为 PDF 时,它会显示正确的信息,但会在每列的信息前面添加 ListViewSubItems
这是我目前使用的代码:
private void tsbSave_Click(object sender, EventArgs e)
{
Document document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("c:\Users\Dev\Desktop\TestDocument.pdf", FileMode.Create));
document.Open();
iTextSharp.text.Font font5 = iTextSharp.text.FontFactory.GetFont(FontFactory.HELVETICA, 5);
PdfPTable table = new PdfPTable(lvwAttributes.Columns.Count);
PdfPRow row = null;
float[] columnWidths = new float[] { 10f, 20f, 30f, 10f, 10f, 10f };
table.SetWidths(columnWidths);
table.WidthPercentage = 100;
int iCol = 0;
string colname = "";
PdfPCell cell = new PdfPCell(new Phrase("Products"));
cell.Colspan = lvwAttributes.Columns.Count;
foreach (ListViewItem item in lvwAttributes.Items)
{
if (lvwAttributes.Items.Count > 0)
{
table.AddCell(new Phrase(item.SubItems[0].ToString(), font5));
table.AddCell(new Phrase(item.SubItems[1].ToString(), font5));
table.AddCell(new Phrase(item.SubItems[2].ToString(), font5));
table.AddCell(new Phrase(item.SubItems[3].ToString(), font5));
table.AddCell(new Phrase(item.SubItems[4].ToString(), font5));
table.AddCell(new Phrase(item.SubItems[5].ToString(), font5));
}
}
document.Add(table);
document.Close();
MessageBox.Show("PDF CREATED!!");
}
我希望它能正确显示列名,然后显示信息。
例如,目前我得到
|ListViewSubItem{Administrator} | ListViewSubItem{Full Access} | etc
我希望它显示为
|Administrator | Full Access |
谢谢
像这样尝试,获取 Sub Item
后面的文字。
foreach (ListViewItem item in lvwAttributes.Items)
{
if (lvwAttributes.Items.Count > 0)
{
table.AddCell(new Phrase(item.SubItems[0].Text.ToString(), font5));
table.AddCell(new Phrase(item.SubItems[1].Text.ToString(), font5));
table.AddCell(new Phrase(item.SubItems[2].Text.ToString(), font5));
table.AddCell(new Phrase(item.SubItems[3].Text.ToString(), font5));
table.AddCell(new Phrase(item.SubItems[4].Text.ToString(), font5));
table.AddCell(new Phrase(item.SubItems[5].Text.ToString(), font5));
}
}
将我的 ListView
导出为 PDF 时,它会显示正确的信息,但会在每列的信息前面添加 ListViewSubItems
这是我目前使用的代码:
private void tsbSave_Click(object sender, EventArgs e)
{
Document document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("c:\Users\Dev\Desktop\TestDocument.pdf", FileMode.Create));
document.Open();
iTextSharp.text.Font font5 = iTextSharp.text.FontFactory.GetFont(FontFactory.HELVETICA, 5);
PdfPTable table = new PdfPTable(lvwAttributes.Columns.Count);
PdfPRow row = null;
float[] columnWidths = new float[] { 10f, 20f, 30f, 10f, 10f, 10f };
table.SetWidths(columnWidths);
table.WidthPercentage = 100;
int iCol = 0;
string colname = "";
PdfPCell cell = new PdfPCell(new Phrase("Products"));
cell.Colspan = lvwAttributes.Columns.Count;
foreach (ListViewItem item in lvwAttributes.Items)
{
if (lvwAttributes.Items.Count > 0)
{
table.AddCell(new Phrase(item.SubItems[0].ToString(), font5));
table.AddCell(new Phrase(item.SubItems[1].ToString(), font5));
table.AddCell(new Phrase(item.SubItems[2].ToString(), font5));
table.AddCell(new Phrase(item.SubItems[3].ToString(), font5));
table.AddCell(new Phrase(item.SubItems[4].ToString(), font5));
table.AddCell(new Phrase(item.SubItems[5].ToString(), font5));
}
}
document.Add(table);
document.Close();
MessageBox.Show("PDF CREATED!!");
}
我希望它能正确显示列名,然后显示信息。
例如,目前我得到
|ListViewSubItem{Administrator} | ListViewSubItem{Full Access} | etc
我希望它显示为
|Administrator | Full Access |
谢谢
像这样尝试,获取 Sub Item
后面的文字。
foreach (ListViewItem item in lvwAttributes.Items)
{
if (lvwAttributes.Items.Count > 0)
{
table.AddCell(new Phrase(item.SubItems[0].Text.ToString(), font5));
table.AddCell(new Phrase(item.SubItems[1].Text.ToString(), font5));
table.AddCell(new Phrase(item.SubItems[2].Text.ToString(), font5));
table.AddCell(new Phrase(item.SubItems[3].Text.ToString(), font5));
table.AddCell(new Phrase(item.SubItems[4].Text.ToString(), font5));
table.AddCell(new Phrase(item.SubItems[5].Text.ToString(), font5));
}
}