FieldSection

FieldSection class

تنفيذ حقل القسم .

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() يزيل الحقل من المستند. إرجاع عقدة بعد الحقل مباشرة. إذا كانت نهاية الحقل هي آخر child من العقدة الأصلية ، يتم إرجاع فقرته الأصلية. إذا تمت إزالة الحقل بالفعل ، يعود لا شيء .
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());

// يعرض حقل PAGE رقم الصفحة الموجود بها.
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);

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

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

أنظر أيضا