RestartList.cs
C# VB
//// This code is part of Document Solutions for Word demos.// Copyright (c) MESCIUS inc. All rights reserved.//using GrapeCity.Documents.Word;
namespace DsWordWeb.Demos{ // This sample demonstrates how to restart numbering // in a numbered list // with three levels. // The code creating the lists is similar to NumberedList sample. public class RestartList { public GcWordDocument CreateDocx() { GcWordDocument doc = new GcWordDocument(); var pars = doc.Body.Sections.First.GetRange().Paragraphs; pars.Add("A numbered list with 3 levels:"); // A ListTemplate is used to make paragraphs part of a list: var myListTemplate = doc.ListTemplates.Add(BuiltInListTemplateId.NumberDefault, "myListTemplate");
// Add a 3-level numbered nested list: addItem("Top item 1", 0); addItem("Top item 2", 0); addItem("Top item 3", 0); addItem("Nested item 1", 1); addItem("Nested item 2", 1); addItem("Double nested item 1", 2); addItem("Double nested item 2", 2); // Restart a list with default numbering: addItem("Double nested item 3 - restart at 'i'", 2).RestartList(); addItem("Double nested item 4", 2); addItem("Double nested item 5", 2); addItem("Nested item 3", 1); addItem("Nested item 4", 1); addItem("Nested item 5", 1); addItem("Nested item 6", 1); // Restart a letter-numbered ("a, b, c,...") list at letter 'c': addItem("Nested item 7 - restart at 'c'", 1).RestartList(3); addItem("Nested item 8", 1); addItem("Nested item 9", 1); addItem("Top item 4", 0); addItem("Top item 5", 0);
// Done: return doc;
Paragraph addItem(string t_, int l_) { var p_ = pars.Add(t_); // This makes a paragraph a list item: p_.ListFormat.Template = myListTemplate; // Set the item's nesting level (first level is 0): p_.ListFormat.LevelNumber = l_; // This ensures item spacing consistent with MS Word: p_.Style = doc.Styles[BuiltInStyleId.ListParagraph]; return p_; } } }}