2010-02-26 3 views
3

Я создаю PDF-документ с помощью iTextSharp. Я вижу, как создать новую таблицу с несколькими столбцами, но я все равно не могу динамически добавить новый столбец. Проблема в том, что я не буду знать количество столбцов, в которых я нуждаюсь сейчас, поэтому нужно продолжать их добавлять.Добавить столбец в PdfPTable, iTextSharp

Может кто-нибудь, пожалуйста, просветит меня, или мне придется каждый раз создавать таблицу Мне нужно добавить столбец?

Благодаря столы Мат

ответ

-1

ITextSharp работают по-разному в HTML таблицы (который я предполагаю, что вы привыкли).

Все, что вам нужно сказать, это количество столбцов, которые у вас есть, а затем продолжайте добавлять ячейки.

Скажите, что вы создаете pdfptable с 5 столбцами. 5-я ячейка, которую вы добавите, будет в первой строке, а 6-я ячейка будет в 1-м столбце второй строки.

Единственный недостаток этого заключается в том, что вам нужно добавить строки, в которых не все ячейки заполнены, но я обычно обойдусь этим, просто добавив пустую ячейку или ячейку с пробелом в ней.

+0

Я думаю, что вы неправильно поняли мой вопрос, я хочу добавить новый столбец, то есть у меня есть таблица с тремя столбцами, и я хочу добавить четвертый столбец, а не перейти к новой строке. –

+0

Urh, yep, извините, пытаясь решить проблемы слишком рано в день! FWIW Я провел немало времени с IText и не знаю, как вы можете это сделать. – CResults

0

Таблицы PdfPTable являются неизменными до тех пор, пока количество столбцов не будет создано.

Единственное обходное решение, которое я могу придумать, это начать с цельного столбца и ... нет, это тоже не сработает. Вы даже не можете добавлять ячейки в существующую строку. Я думал, что вы можете играть со столбцом, который замаскирует ваши дополнительные столбцы и корректирует их, когда вы добавляете больше ячеек в строки, но это тоже не сработает.

Вы должны перестроить таблицу при добавлении столбцов. Ни в коем случае.

Я настоятельно рекомендую вам определить, как определить количество столбцов, прежде чем создавать таблицу в первую очередь ... даже если вам придется «сушить пробег» через ваши данные. Используйте некоторый промежуточный формат (String [] [] или что-то еще), чтобы сохранить ваши данные, а затем создайте таблицу из этого, а не данные, как вам кажется. Или, по крайней мере, отследите, сколько столбцов вам понадобится.

Учитывая огромное количество данных, один проход может оказаться нецелесообразным. Но перестройка всей таблицы несколько раз не может быть намного лучше. Это действительно вопрос настройки производительности, который дает вам только информацию.

2

Не было бы тогда смысл создавать промежуточную модель, которая содержит нужную вам таблицу, и может ли она создать таблицу PDF для вас?

Я знаю, что это звучит очень много, но в конечном итоге это должно помочь в том, что вы сможете динамически изменять строки и столбцы при их создании, а затем в конце просто «скомпилировать», таблицу и выплюнуть объект PdfPTable?

 Смежные вопросы

  • Нет связанных вопросов^_^