FieldRef
محتويات
[
يخفي
]FieldRef class
ينفذ حقل REF.
لمعرفة المزيد، قم بزيارةالعمل مع الحقول مقالة توثيقية.
public class FieldRef : Field
المنشئون
اسم | وصف |
---|---|
FieldRef() | Default_Constructor |
الخصائص
اسم | وصف |
---|---|
BookmarkName { get; set; } | يحصل على اسم الإشارة المرجعية أو يعينه. |
DisplayResult { get; } | يحصل على النص الذي يمثل نتيجة الحقل المعروضة. |
End { get; } | يحصل على العقدة التي تمثل نهاية الحقل. |
Format { get; } | يحصل علىFieldFormat الكائن الذي يوفر الوصول المكتوب إلى تنسيق الحقل. |
IncludeNoteOrComment { get; set; } | يحصل على أو يعين ما إذا كان سيتم زيادة أرقام الحواشي السفلية والحواشي النهائية والتعليقات التوضيحية التي تم وضع علامة عليها بواسطة الإشارة المرجعية، وإدراج نص الحاشية السفلية والحاشية النهائية والتعليق المقابل. |
InsertHyperlink { get; set; } | يحصل على أو يحدد ما إذا كان سيتم إنشاء ارتباط تشعبي إلى الفقرة المرجعية. |
InsertParagraphNumber { get; set; } | يحصل على أو يحدد ما إذا كان سيتم إدراج رقم الفقرة للفقرة المشار إليها تمامًا كما يظهر في المستند. |
InsertParagraphNumberInFullContext { get; set; } | يحصل على أو يحدد ما إذا كان سيتم إدراج رقم الفقرة للفقرة المشار إليها في السياق الكامل. |
InsertParagraphNumberInRelativeContext { get; set; } | يحصل على أو يحدد ما إذا كان سيتم إدراج رقم الفقرة للفقرة المشار إليها في السياق النسبي. |
InsertRelativePosition { get; set; } | يحصل على أو يحدد ما إذا كان سيتم إدراج الموضع النسبي للفقرة المشار إليها. |
IsDirty { get; set; } | يحصل على أو يحدد ما إذا كانت النتيجة الحالية للحقل لم تعد صحيحة (قديمة) بسبب التعديلات الأخرى التي تم إجراؤها على المستند. |
IsLocked { get; set; } | يحصل على أو يحدد ما إذا كان الحقل مقفلاً (لا ينبغي إعادة حساب نتيجته). |
LocaleId { get; set; } | يحصل على أو يعين LCID للحقل. |
NumberSeparator { get; set; } | يحصل على أو يعين تسلسل الأحرف المستخدم لفصل أرقام التسلسل وأرقام الصفحات. |
Result { get; set; } | يحصل على النص الموجود بين فاصل الحقل ونهاية الحقل أو يعينه. |
Separator { get; } | يحصل على العقدة التي تمثل فاصل الحقل. يمكن أن يكونباطل . |
Start { get; } | يحصل على العقدة التي تمثل بداية الحقل. |
SuppressNonDelimiters { get; set; } | يحصل على أو يحدد ما إذا كان سيتم قمع الأحرف غير الفاصلة. |
virtual Type { get; } | يحصل على نوع حقل Microsoft Word. |
طُرق
اسم | وصف |
---|---|
GetFieldCode() | يعيد النص بين بداية الحقل وفاصل الحقل (أو نهاية الحقل إذا لم يكن هناك فاصل). يتم تضمين كل من رمز الحقل ونتيجة الحقل للحقول الفرعية. |
GetFieldCode(bool) | إرجاع النص بين بداية الحقل وفاصل الحقل (أو نهاية الحقل إذا لم يكن هناك فاصل). |
Remove() | يُزيل الحقل من المستند. يُرجع عقدة بعد الحقل مباشرةً. إذا كانت نهاية الحقل هي آخر عقدة فرعية للعقدة الأصلية، تُرجع فقرته الأصلية. إذا كان الحقل قد حُذف مُسبقًا، تُرجعباطل . |
Unlink() | يقوم بإلغاء ربط الحقل. |
Update() | يُجري تحديث الحقل. يُطرح هذا الخطأ إذا كان الحقل قيد التحديث بالفعل. |
Update(bool) | يُجري تحديثًا للحقل. يُطرح هذا الخطأ إذا كان الحقل قيد التحديث بالفعل. |
ملاحظات
يقوم بإدراج النص أو الرسومات التي يمثلها الإشارة المرجعية المحددة.
أمثلة
يوضح كيفية إنشاء نص مرجعي باستخدام حقل SET، ثم عرضه في المستند باستخدام حقل REF.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// قم بتسمية النص المضاف إليه إشارة مرجعية باستخدام حقل SET.
// يشير هذا الحقل إلى "الإشارة المرجعية" وليس إلى بنية الإشارة المرجعية التي تظهر داخل النص، بل إلى متغير مسمى.
FieldSet fieldSet = (FieldSet)builder.InsertField(FieldType.FieldSet, false);
fieldSet.BookmarkName = "MyBookmark";
fieldSet.BookmarkText = "Hello world!";
fieldSet.Update();
Assert.AreEqual(" SET MyBookmark \"Hello world!\"", fieldSet.GetFieldCode());
// قم بالإشارة إلى الإشارة المرجعية بالاسم في حقل REF وعرض محتوياتها.
FieldRef fieldRef = (FieldRef)builder.InsertField(FieldType.FieldRef, true);
fieldRef.BookmarkName = "MyBookmark";
fieldRef.Update();
Assert.AreEqual(" REF MyBookmark", fieldRef.GetFieldCode());
Assert.AreEqual("Hello world!", fieldRef.Result);
doc.Save(ArtifactsDir + "Field.SET.REF.docx");
يوضح كيفية إدراج حقول REF للإشارة إلى الإشارات المرجعية.
public void FieldRef()
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.StartBookmark("MyBookmark");
builder.InsertFootnote(FootnoteType.Footnote, "MyBookmark footnote #1");
builder.Write("Text that will appear in REF field");
builder.InsertFootnote(FootnoteType.Footnote, "MyBookmark footnote #2");
builder.EndBookmark("MyBookmark");
builder.MoveToDocumentStart();
// سوف نطبق تنسيق قائمة مخصص، حيث يشير عدد الأقواس الزاوية إلى مستوى القائمة الذي نحن فيه حاليًا.
builder.ListFormat.ApplyNumberDefault();
builder.ListFormat.ListLevel.NumberFormat = "> \x0000";
// قم بإدراج حقل REF الذي سيحتوي على النص الموجود داخل الإشارة المرجعية لدينا، وسيعمل كارتباط تشعبي، ويستنسخ حواشي الإشارة المرجعية.
FieldRef field = InsertFieldRef(builder, "MyBookmark", "", "\n");
field.IncludeNoteOrComment = true;
field.InsertHyperlink = true;
Assert.AreEqual(" REF MyBookmark \\f \\h", field.GetFieldCode());
// أدخل حقل REF، واعرض ما إذا كانت الإشارة المرجعية أعلى أو أسفله.
field = InsertFieldRef(builder, "MyBookmark", "The referenced paragraph is ", " this field.\n");
field.InsertRelativePosition = true;
Assert.AreEqual(" REF MyBookmark \\p", field.GetFieldCode());
// عرض رقم قائمة الإشارة المرجعية كما يظهر في المستند.
field = InsertFieldRef(builder, "MyBookmark", "The bookmark's paragraph number is ", "\n");
field.InsertParagraphNumber = true;
Assert.AreEqual(" REF MyBookmark \\n", field.GetFieldCode());
// عرض رقم قائمة الإشارة المرجعية، ولكن مع حذف الأحرف غير الفاصلة، مثل الأقواس الزاوية.
field = InsertFieldRef(builder, "MyBookmark", "The bookmark's paragraph number, non-delimiters suppressed, is ", "\n");
field.InsertParagraphNumber = true;
field.SuppressNonDelimiters = true;
Assert.AreEqual(" REF MyBookmark \\n \\t", field.GetFieldCode());
//الانتقال إلى أسفل مستوى واحد في القائمة.
builder.ListFormat.ListLevelNumber++;
builder.ListFormat.ListLevel.NumberFormat = ">> \x0001";
// عرض رقم قائمة الإشارة المرجعية وأرقام جميع مستويات القائمة الموجودة أعلى منها.
field = InsertFieldRef(builder, "MyBookmark", "The bookmark's full context paragraph number is ", "\n");
field.InsertParagraphNumberInFullContext = true;
Assert.AreEqual(" REF MyBookmark \\w", field.GetFieldCode());
builder.InsertBreak(BreakType.PageBreak);
// عرض أرقام مستوى القائمة بين حقل REF هذا والإشارة المرجعية التي يشير إليها.
field = InsertFieldRef(builder, "MyBookmark", "The bookmark's relative paragraph number is ", "\n");
field.InsertParagraphNumberInRelativeContext = true;
Assert.AreEqual(" REF MyBookmark \\r", field.GetFieldCode());
// في نهاية المستند، ستظهر الإشارة المرجعية كعنصر قائمة هنا.
builder.Writeln("List level above bookmark");
builder.ListFormat.ListLevelNumber++;
builder.ListFormat.ListLevel.NumberFormat = ">>> \x0002";
doc.UpdateFields();
doc.Save(ArtifactsDir + "Field.REF.docx");
}
/// <summary>
/// احصل على منشئ المستندات لإدراج حقل REF، والإشارة إلى إشارة مرجعية به، وإضافة نص قبله وبعده.
/// </summary>
private static FieldRef InsertFieldRef(DocumentBuilder builder, string bookmarkName, string textBefore, string textAfter)
{
builder.Write(textBefore);
FieldRef field = (FieldRef)builder.InsertField(FieldType.FieldRef, true);
field.BookmarkName = bookmarkName;
builder.Write(textAfter);
return field;
}
أنظر أيضا
- class Field
- مساحة الاسم Aspose.Words.Fields
- المجسم Aspose.Words