FieldIf

FieldIf class

تنفذ حقل IF .

public class FieldIf : Field

المنشئون

اسم وصف
FieldIf() Default_Constructor

الخصائص

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

طُرق

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

ملاحظات

يقارن القيم المعينة بواسطة التعبيراتLeftExpression وRightExpression بالمقارنة باستخدام المشغل المعين من قبلComparisonOperator.

سيتم استخدام حقل بالتنسيق التالي كمصدر لدمج البريد: {IF 0 = 0 “{PatientsNameFML}” "" \ * MERGEFORMAT}

أمثلة

يوضح كيفية إدراج حقل IF.

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

builder.Write("Statement 1: ");
FieldIf field = (FieldIf)builder.InsertField(FieldType.FieldIf, true);
field.LeftExpression = "0";
field.ComparisonOperator = "=";
field.RightExpression = "1";

// سيعرض الحقل IF سلسلة من خاصية "TrueText" الخاصة به ،
// أو خاصيته "FalseText" ، اعتمادًا على حقيقة البيان الذي أنشأناه.
field.TrueText = "True";
field.FalseText = "False";
field.Update();

// في هذه الحالة ، "0 = 1" غير صحيحة ، لذا ستكون النتيجة المعروضة "False".
Assert.AreEqual(" IF  0 = 1 True False", field.GetFieldCode());
Assert.AreEqual(FieldIfComparisonResult.False, field.EvaluateCondition());
Assert.AreEqual("False", field.Result);

builder.Write("\nStatement 2: ");
field = (FieldIf)builder.InsertField(FieldType.FieldIf, true);
field.LeftExpression = "5";
field.ComparisonOperator = "=";
field.RightExpression = "2 + 3";
field.TrueText = "True";
field.FalseText = "False";
field.Update();

// هذه المرة العبارة صحيحة ، لذا ستكون النتيجة المعروضة "صحيحة".
Assert.AreEqual(" IF  5 = \"2 + 3\" True False", field.GetFieldCode());
Assert.AreEqual(FieldIfComparisonResult.True, field.EvaluateCondition());
Assert.AreEqual("True", field.Result);

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

أنظر أيضا