Respond
Contenuti
[
Nascondere
]IFieldUserPromptRespondent.Respond method
Una volta implementato, restituisce una risposta dall’utente al prompt. La tua implementazione dovrebbe restituirenullo
per indicare che l’utente non ha risposto al prompt (ovvero l’utente ha premuto il pulsante Annulla nella finestra del prompt).
public string Respond(string promptText, string defaultResponse)
Parametro | Tipo | Descrizione |
---|---|---|
promptText | String | Testo del prompt (ovvero il titolo della finestra del prompt). |
defaultResponse | String | Risposta utente predefinita (ovvero il valore iniziale contenuto nella finestra del prompt). |
Valore di ritorno
Risposta dell’utente (vale a dire il valore confermato contenuto nella finestra del prompt).
Esempi
Mostra come creare un campo ASK e impostarne le proprietà.
public void FieldAsk()
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Posiziona un campo in cui verrà inserita la risposta al nostro campo ASK.
FieldRef fieldRef = (FieldRef)builder.InsertField(FieldType.FieldRef, true);
fieldRef.BookmarkName = "MyAskField";
builder.Writeln();
Assert.AreEqual(" REF MyAskField", fieldRef.GetFieldCode());
// Inserisci il campo ASK e modifica le sue proprietà per fare riferimento al nostro campo REF tramite il nome del segnalibro.
FieldAsk fieldAsk = (FieldAsk)builder.InsertField(FieldType.FieldAsk, true);
fieldAsk.BookmarkName = "MyAskField";
fieldAsk.PromptText = "Please provide a response for this ASK field";
fieldAsk.DefaultResponse = "Response from within the field.";
fieldAsk.PromptOnceOnMailMerge = true;
builder.Writeln();
Assert.AreEqual(
" ASK MyAskField \"Please provide a response for this ASK field\" \\d \"Response from within the field.\" \\o",
fieldAsk.GetFieldCode());
// I campi ASK applicano la risposta predefinita ai rispettivi campi REF durante una stampa unione.
DataTable table = new DataTable("My Table");
table.Columns.Add("Column 1");
table.Rows.Add("Row 1");
table.Rows.Add("Row 2");
FieldMergeField fieldMergeField = (FieldMergeField)builder.InsertField(FieldType.FieldMergeField, true);
fieldMergeField.FieldName = "Column 1";
// Possiamo modificare o sovrascrivere la risposta predefinita nei nostri campi ASK con un risponditore personalizzato,
// che si verificherà durante una stampa unione.
doc.FieldOptions.UserPromptRespondent = new MyPromptRespondent();
doc.MailMerge.Execute(table);
doc.UpdateFields();
doc.Save(ArtifactsDir + "Field.ASK.docx");
}
/// <summary>
/// Antepone il testo alla risposta predefinita di un campo ASK durante una stampa unione.
/// </summary>
private class MyPromptRespondent : IFieldUserPromptRespondent
{
public string Respond(string promptText, string defaultResponse)
{
return "Response from MyPromptRespondent. " + defaultResponse;
}
}
Guarda anche
- interface IFieldUserPromptRespondent
- spazio dei nomi Aspose.Words.Fields
- assemblea Aspose.Words