2014-02-12 8 views
1

Создание вложенного списка внутри iTextSharp простоiTextSharp - Несколько уровней внутри списка()

var list = new List(true); 
list.add("Something here"); 
list.add("Something else here"); 
var nestedList = new List(true); 
nestedList.add("Some other value"); 
list.add(nestedList); 
document.add(list); // assuming here of course you have 
        // created an instance of Document()! 

будет производить что-то действительно основные, такие как

  1. Что-то здесь
  2. Что-то еще здесь
    1. Некоторое другое значение

Я хочу создать нечто более сложное; Я создаю документ, который имеет пункты и подпункты так хочу перечислить каждый элемент списка, как это:

1. Parent list item 
1.1 Something here 
1.2 Something else here 

, но я не могу увидеть где-нибудь в API, где это возможно. Единственный способ, который я могу сделать, это использовать Paragraph(), но есть ли у кого-нибудь еще более элегантное решение?

Благодаря

ответ

2

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

Как следует:

   List list = new List(List.ORDERED, 20f); 
       list.IndentationLeft = 20f; 

       // add sublist 
       List subList = new List(List.ORDERED); 
       subList.PreSymbol = string.Format("{0}.", i); 
       subList.Add("Something here"); 
       subList.Add("Something else here"); 

       list.Add(subList); 

       doc.Add(list); 

Это приведет:

Screen grab

+0

К сожалению, это не то, что я хотел. Я знаю, как вложить списки, но я хочу, чтобы у вас были 1.1 и 1.2. Я буду обновлять свой вопрос, чтобы отразить это. – Matt

+0

@Matt Я обновил свой вопрос, чтобы показать единственный способ, которым я знаю. Если это не хорошо, сообщите мне, и я удалю его, так как нисходящий поток сходит с моей репутации. Кажется, что нет способа определить родителя из api, если только я не пропустил его: http://api.itextpdf.com/itext/com/itextpdf/text/List.html – hutchonoid

+1

@hutchoniod Это именно то, что я хотел. Большое спасибо! – Matt

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