//// This code is part of Document Solutions for Word demos.// Copyright (c) MESCIUS inc. All rights reserved.//usingGrapeCity.Documents.Word; namespaceDsWordWeb.Demos{// This sample demonstrates the use of complex fields.// It adds a complex field that tests whether the current date// is the New Year day, and modifies the text in the document // accordingly. See also DateAndTime sample.publicclassComplexFields {publicGcWordDocumentCreateDocx() {GcWordDocument doc = newGcWordDocument(); // Add a title: doc.Body.Paragraphs.Add("Testing whether it is the New Year yet").Style = doc.Styles[BuiltInStyleId.Title]; // Add a paragraph and get its range:var rng = doc.Body.Paragraphs.Add().GetRange();// Add a static text: rng.Runs.Add("Today is "); // Add a complex field with "IF" instruction. We also provide // a pre-calculated value for the sake of PDF export, as DsWord // does not yet support field calculation - see DateAndTime.// Note also that because the code field will not be calculated// in the PDF export, the "NOT " won't be bold in it:var val = Util.TimeNow().DayOfYear == 1 ? "" : "NOT ";var f = rng.ComplexFields.Add("IF ", val);// Add a complex field with "DATE" instruction: f.GetCodeRange().ComplexFields.Add(" DATE \\@ \"M-d\" ");// Add additional instruction to the "IF" field to compare the nested// DATE field result with "1-1" and return "NOT " if it is true,// also make the "NOT " bold if visible: f.CodeFields.Add("<> \"1-1\" \"NOT \"").ParentRun.Font.Bold = true; // Add a static text: rng.Runs.Add("New Year's Day."); // Done:return doc; } }}