UpdateFields
Range.UpdateFields method
Обновляет значения полей документа в этом диапазоне.
public void UpdateFields()
Примечания
Когда вы открываете, изменяете и затем сохраняете документ, Aspose.Words не обновляет поля автоматически, он сохраняет их нетронутыми. Поэтому обычно вам нужно вызвать этот метод перед сохранением, если вы изменили document программно и хотите убедиться, что правильные (вычисленные) значения полей появятся в сохраненном документе.
Нет необходимости обновлять поля после выполнения слияния почты, поскольку слияние почты является своего рода полем update и автоматически обновляет все поля в документе.
Этот метод не обновляет все типы полей. Подробный список поддерживаемых типов полей см. в Руководстве программиста.
Этот метод не обновляет поля, связанные с алгоритмами макета страницы (например, PAGE, PAGES, PAGEREF). Поля, связанные с макетом страницы, обновляются при визуализации документа или вызове.UpdatePageLayout
.
Чтобы обновить поля во всем документе, используйтеUpdateFields
.
Примеры
Показывает, как обновить все поля в диапазоне.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.InsertField(" DOCPROPERTY Category");
builder.InsertBreak(BreakType.SectionBreakEvenPage);
builder.InsertField(" DOCPROPERTY Category");
// В приведенных выше полях DOCPROPERTY будет отображаться значение этого встроенного свойства документа.
doc.BuiltInDocumentProperties.Category = "MyCategory";
// Если мы обновим значение свойства документа, нам нужно будет обновить все поля DOCPROPERTY, чтобы отобразить его.
Assert.AreEqual(string.Empty, doc.Range.Fields[0].Result);
Assert.AreEqual(string.Empty, doc.Range.Fields[1].Result);
// Обновляем все поля, находящиеся в диапазоне первого раздела.
doc.FirstSection.Range.UpdateFields();
Assert.AreEqual("MyCategory", doc.Range.Fields[0].Result);
Assert.AreEqual(string.Empty, doc.Range.Fields[1].Result);
Смотрите также
- class Range
- пространство имен Aspose.Words
- сборка Aspose.Words