MoveToField

DocumentBuilder.MoveToField method

Déplace le curseur vers un champ du document.

public void MoveToField(Field field, bool isAfter)
ParamètreTaperLa description
fieldFieldLe champ vers lequel déplacer le curseur.
isAfterBooleanQuandvrai , déplace le curseur après la fin du champ. LorsqueFAUX, déplace le curseur avant le début du champ.

Exemples

Montre comment déplacer le curseur du point d’insertion du nœud d’un générateur de documents vers un champ spécifique.

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

// Insérez un champ à l'aide de DocumentBuilder et ajoutez une séquence de texte après celui-ci.
Field field = builder.InsertField(" AUTHOR \"John Doe\" ");

// Le curseur du constructeur est actuellement à la fin du document.
Assert.Null(builder.CurrentNode);

// Déplace le curseur vers le champ tout en spécifiant s'il faut placer ce curseur avant ou après le champ.
builder.MoveToField(field, moveCursorToAfterTheField);

// Notez que le curseur est en dehors du champ dans les deux cas.
// Cela signifie que nous ne pouvons pas modifier le champ en utilisant le générateur de cette manière.
// Pour éditer un champ, nous pouvons utiliser la méthode MoveTo du builder sur le FieldStart d'un champ
// ou un nœud FieldSeparator pour placer le curseur à l'intérieur.
if (moveCursorToAfterTheField)
{
    Assert.Null(builder.CurrentNode);
    builder.Write(" Text immediately after the field.");

    Assert.AreEqual("\u0013 AUTHOR \"John Doe\" \u0014John Doe\u0015 Text immediately after the field.", 
        doc.GetText().Trim());
}
else
{
    Assert.AreEqual(field.Start, builder.CurrentNode);
    builder.Write("Text immediately before the field. ");

    Assert.AreEqual("Text immediately before the field. \u0013 AUTHOR \"John Doe\" \u0014John Doe\u0015", 
        doc.GetText().Trim());
}

Voir également