'''' This code is part of Document Solutions for Word demos.'' Copyright (c) MESCIUS inc. All rights reserved.''ImportsSystem.GlobalizationImportsGrapeCity.Documents.Word '' This example shows how to use the todouble() template formatter'' to enable using numeric format specifiers (percent in this sample)'' on numeric values stored as strings in the data source.PublicClassDataTplToDoubleFunctionCreateDocx() AsGcWordDocument'' The data source (ocean and sea data from Wikipedia),'' note that in order to demonstrate the todouble() formatter,'' the 'areaOfWorldOcean' in this data source is a string rather'' than a number:Dim oceans = {NewWith {.name = "Pacific", .areaOfWorldOcean = "0.466", .volumeOfWorldOcean = 0.501, .seas = {NewWith {.name = "Australasian Mediterranean Sea"}, NewWith {.name = "Philippine Sea"}, NewWith {.name = "Coral Sea"}, NewWith {.name = "South China Sea"}}},NewWith {.name = "Atlantic", .areaOfWorldOcean = "0.235", .volumeOfWorldOcean = 0.233, .seas = {NewWith {.name = "Sargasso Sea"}, NewWith {.name = "Caribbean Sea"}, NewWith {.name = "Mediterranean Sea"}, NewWith {.name = "Gulf of Guinea"}}},NewWith {.name = "Indian", .areaOfWorldOcean = "0.195", .volumeOfWorldOcean = 0.198, .seas = {NewWith {.name = "Arabian Sea"}, NewWith {.name = "Bay of Bengal"}, NewWith {.name = "Andaman Sea"}, NewWith {.name = "Laccadive Sea"}}},NewWith {.name = "Southern", .areaOfWorldOcean = "0.061", .volumeOfWorldOcean = 0.054, .seas = {NewWith {.name = "Weddell Sea"}, NewWith {.name = "Somov Sea"}, NewWith {.name = "Riiser-Larsen Sea"}, NewWith {.name = "Lazarev Sea"}}},NewWith {.name = "Arctic", .areaOfWorldOcean = "0.043", .volumeOfWorldOcean = 0.014, .seas = {NewWith {.name = "Barents Sea"}, NewWith {.name = "Greenland Sea"}, NewWith {.name = "East Siberian Sea"}, NewWith {.name = "Kara Sea"}}} } Dim doc = NewGcWordDocument() '' Add the data source to the data template data sources: doc.DataTemplate.DataSources.Add("ds", oceans) '' Add list templates for the two-level list:Dim listTplTop = doc.ListTemplates.Add(BuiltInListTemplateId.NumberArabicParenthesis, "listTplTop")Dim listTplNested = doc.ListTemplates.Add(BuiltInListTemplateId.BulletDefault, "listTplNested") '' 'areaOfWorldOcean' in the data source is a string, so in order to be able'' to use percent formatting on it we convert it to a number using the'' todouble() formatter, then pass the result to format():Dim p1 = doc.Body.Paragraphs.Add("{{#ds}}{{name}} - {{areaOfWorldOcean}:todouble():format(0.#%)} of World Ocean area:") p1.ListFormat.Template = listTplTop'' Print the ocean's largest sea names as the nested list:Dim p2 = doc.Body.Paragraphs.Add("{{seas.name}}{{/ds}}") p2.ListFormat.Template = listTplNested p2.ListFormat.LevelNumber = 1 '' Note that we explicitly specify the culture to make sure that'' the dot in 'areaOfWorldOcean' strings is recognized as decimal separator: doc.DataTemplate.Process(CultureInfo.GetCultureInfo("en-US")) '' Done:Return docEndFunctionEndClass