FieldListNum

FieldListNum class

ينفذ حقل LISTNUM.

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

public class FieldListNum : Field

المنشئون

اسموصف
FieldListNum()Default_Constructor

الخصائص

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

طُرق

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

أمثلة

يوضح كيفية ترقيم الفقرات باستخدام حقول LISTNUM.

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

// تعرض حقول LISTNUM رقمًا يتزايد في كل حقل LISTNUM.
//تحتوي هذه الحقول أيضًا على مجموعة متنوعة من الخيارات التي تسمح لنا باستخدامها لمحاكاة القوائم المرقمة.
FieldListNum field = (FieldListNum)builder.InsertField(FieldType.FieldListNum, true);

// تبدأ القوائم بالعد عند 1 بشكل افتراضي، ولكن يمكننا تعيين هذا الرقم إلى قيمة مختلفة، مثل 0.
//سيتم عرض هذا الحقل "0)".
field.StartingNumber = "0";
builder.Writeln("Paragraph 1");

Assert.AreEqual(" LISTNUM  \\s 0", field.GetFieldCode());

// تحتفظ حقول LISTNUM بأعداد منفصلة لكل مستوى من مستويات القائمة.
// إدراج حقل LISTNUM في نفس الفقرة مع حقل LISTNUM آخر
// يزيد مستوى القائمة بدلاً من العدد.
// سيستمر الحقل التالي في العد الذي بدأناه أعلاه ويعرض قيمة "1" على مستوى القائمة 1.
builder.InsertField(FieldType.FieldListNum, true);

// سيبدأ هذا الحقل العد على مستوى القائمة 2. وسيعرض القيمة "1".
builder.InsertField(FieldType.FieldListNum, true);

// سيبدأ هذا الحقل العد على مستوى القائمة 3. وسيعرض القيمة "1".
// مستويات القائمة المختلفة لها تنسيق مختلف،
// لذلك فإن دمج هذه الحقول سيؤدي إلى عرض قيمة "1)a)i)".
builder.InsertField(FieldType.FieldListNum, true);
builder.Writeln("Paragraph 2");

// الحقل LISTNUM التالي الذي نقوم بإدخاله سيستمر في العد على مستوى القائمة
// أن الحقل LISTNUM السابق كان موجودًا.
//يمكننا استخدام خاصية "ListLevel" للانتقال إلى مستوى قائمة مختلف.
// إذا بقي حقل LISTNUM هذا على مستوى القائمة 3، فسوف يعرض "ii)"،
// ولكن، نظرًا لأننا نقلناها إلى مستوى القائمة 2، فإنها تستمر في العد على هذا المستوى وتعرض "ب)".
field = (FieldListNum)builder.InsertField(FieldType.FieldListNum, true);
field.ListLevel = "2";
builder.Writeln("Paragraph 3");

Assert.AreEqual(" LISTNUM  \\l 2", field.GetFieldCode());

// يمكننا تعيين خاصية ListName لجعل الحقل يحاكي نوع حقل AUTONUM مختلفًا.
// "NumberDefault" يحاكي AUTONUM، و"OutlineDefault" يحاكي AUTONUMOUT،
// و"LegalDefault" يحاكي حقول AUTONUMLGL.
// سيؤدي اسم القائمة "OutlineDefault" مع 1 كرقم بداية إلى عرض "I".
field = (FieldListNum)builder.InsertField(FieldType.FieldListNum, true);
field.StartingNumber = "1";
field.ListName = "OutlineDefault";
builder.Writeln("Paragraph 4");

Assert.IsTrue(field.HasListName);
Assert.AreEqual(" LISTNUM  OutlineDefault \\s 1", field.GetFieldCode());

// لا يتم نقل ListName من الحقل السابق، لذا سنحتاج إلى تعيينه لكل حقل جديد.
// يواصل هذا الحقل العد باستخدام اسم القائمة المختلفة ويعرض "II".
field = (FieldListNum)builder.InsertField(FieldType.FieldListNum, true);
field.ListName = "OutlineDefault";
builder.Writeln("Paragraph 5");

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

أنظر أيضا