FieldSection

FieldSection class

ينفذ حقل SECTION.

لمعرفة المزيد، قم بزيارةالعمل مع الحقول مقالة توثيقية.

public class FieldSection : Field

المنشئون

اسموصف
FieldSection()Default_Constructor

الخصائص

اسموصف
DisplayResult { get; }يحصل على النص الذي يمثل نتيجة الحقل المعروضة.
End { get; }يحصل على العقدة التي تمثل نهاية الحقل.
Format { get; }يحصل علىFieldFormatالكائن الذي يوفر الوصول المكتوب إلى تنسيق الحقل.
IsDirty { get; set; }يحصل على أو يحدد ما إذا كانت النتيجة الحالية للحقل لم تعد صحيحة (قديمة) بسبب التعديلات الأخرى التي تم إجراؤها على المستند.
IsLocked { get; set; }يحصل على أو يحدد ما إذا كان الحقل مقفلاً (لا ينبغي إعادة حساب نتيجته).
LocaleId { get; set; }يحصل على أو يعين LCID للحقل.
Result { get; set; }يحصل على النص الموجود بين فاصل الحقل ونهاية الحقل أو يعينه.
Separator { get; }يحصل على العقدة التي تمثل فاصل الحقل. يمكن أن يكونباطل .
Start { get; }يحصل على العقدة التي تمثل بداية الحقل.
virtual Type { get; }يحصل على نوع حقل Microsoft Word.

طُرق

اسموصف
GetFieldCode()يعيد النص بين بداية الحقل وفاصل الحقل (أو نهاية الحقل إذا لم يكن هناك فاصل). يتم تضمين كل من رمز الحقل ونتيجة الحقل للحقول الفرعية.
GetFieldCode(bool)إرجاع النص بين بداية الحقل وفاصل الحقل (أو نهاية الحقل إذا لم يكن هناك فاصل).
Remove()يُزيل الحقل من المستند. يُرجع عقدة بعد الحقل مباشرةً. إذا كانت نهاية الحقل هي آخر عقدة فرعية للعقدة الأصلية، تُرجع فقرته الأصلية. إذا كان الحقل قد حُذف مُسبقًا، تُرجعباطل .
Unlink()يقوم بإلغاء ربط الحقل.
Update()يُجري تحديث الحقل. يُطرح هذا الخطأ إذا كان الحقل قيد التحديث بالفعل.
Update(bool)يُجري تحديثًا للحقل. يُطرح هذا الخطأ إذا كان الحقل قيد التحديث بالفعل.

ملاحظات

يسترجع رقم القسم الحالي.

أمثلة

يوضح كيفية استخدام الحقول SECTION وSECTIONPAGES لترقيم الصفحات حسب الأقسام.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;

// يعرض حقل القسم رقم القسم الذي يتواجد فيه.
builder.Write("Section ");
FieldSection fieldSection = (FieldSection)builder.InsertField(FieldType.FieldSection, true);

Assert.AreEqual(" SECTION ", fieldSection.GetFieldCode());

// يعرض حقل الصفحة رقم الصفحة التي يتواجد فيها.
builder.Write("\nPage ");
FieldPage fieldPage = (FieldPage)builder.InsertField(FieldType.FieldPage, true);

Assert.AreEqual(" PAGE ", fieldPage.GetFieldCode());

// يعرض حقل SECTIONPAGES عدد الصفحات التي يمتد عبرها القسم الذي يحتوي عليه.
builder.Write(" of ");
FieldSectionPages fieldSectionPages = (FieldSectionPages)builder.InsertField(FieldType.FieldSectionPages, true);

Assert.AreEqual(" SECTIONPAGES ", fieldSectionPages.GetFieldCode());

//الانتقال من الرأس إلى المستند الرئيسي وإدراج صفحتين.
// ستكون جميع هذه الصفحات في القسم الأول. حقولنا، التي تظهر مرة واحدة في كل رأس،
//سيتم ترقيم الصفحات الحالية/الإجمالية لهذا القسم.
builder.MoveToDocumentEnd();
builder.InsertBreak(BreakType.PageBreak);
builder.InsertBreak(BreakType.PageBreak);

//يمكننا إدراج قسم جديد باستخدام منشئ المستندات مثل هذا.
// سيؤثر هذا على القيم المعروضة في الحقلين SECTION وSECTIONPAGES في جميع العناوين القادمة.
builder.InsertBreak(BreakType.SectionBreakNewPage);

// سيستمر حقل الصفحة في حساب عدد الصفحات في المستند بأكمله.
// يمكننا إعادة تعيين العدد يدويًا في كل قسم لتتبع الصفحات قسمًا بقسم.
builder.CurrentSection.PageSetup.RestartPageNumbering = true;
builder.InsertBreak(BreakType.PageBreak);

doc.UpdateFields();
doc.Save(ArtifactsDir + "Field.SECTION.SECTIONPAGES.docx");

أنظر أيضا