public class FieldAsk extends Field
To learn more, visit the Working with Fields documentation article.
Remarks:
Prompts the user to enter information and assigns a bookmark to represent the user's response.
Examples:
Shows how to create an ASK field, and set its properties.
public void fieldAsk() throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Place a field where the response to our ASK field will be placed.
FieldRef fieldRef = (FieldRef) builder.insertField(FieldType.FIELD_REF, true);
fieldRef.setBookmarkName("MyAskField");
builder.writeln();
Assert.assertEquals(" REF MyAskField", fieldRef.getFieldCode());
// Insert the ASK field and edit its properties to reference our REF field by bookmark name.
FieldAsk fieldAsk = (FieldAsk) builder.insertField(FieldType.FIELD_ASK, true);
fieldAsk.setBookmarkName("MyAskField");
fieldAsk.setPromptText("Please provide a response for this ASK field");
fieldAsk.setDefaultResponse("Response from within the field.");
fieldAsk.setPromptOnceOnMailMerge(true);
builder.writeln();
Assert.assertEquals(
" ASK MyAskField \"Please provide a response for this ASK field\" \\d \"Response from within the field.\" \\o",
fieldAsk.getFieldCode());
// ASK fields apply the default response to their respective REF fields during a mail merge.
DataTable table = new DataTable("My Table");
table.getColumns().add("Column 1");
table.getRows().add("Row 1");
table.getRows().add("Row 2");
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Column 1");
// We can modify or override the default response in our ASK fields with a custom prompt responder,
// which will occur during a mail merge.
doc.getFieldOptions().setUserPromptRespondent(new MyPromptRespondent());
doc.getMailMerge().execute(table);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.ASK.docx");
}
/// <summary>
/// Prepends text to the default response of an ASK field during a mail merge.
/// </summary>
private static class MyPromptRespondent implements IFieldUserPromptRespondent {
public String respond(final String promptText, final String defaultResponse) {
return "Response from MyPromptRespondent. " + defaultResponse;
}
}
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getBookmarkName()
Gets the name of the bookmark.
|
java.lang.String |
getDefaultResponse()
Gets default user response (initial value contained in the prompt window).
|
boolean |
getPromptOnceOnMailMerge()
Gets whether the user response should be recieved once per a mail merge operation.
|
java.lang.String |
getPromptText()
Gets the prompt text (the title of the prompt window).
|
int |
getSwitchType(java.lang.String switchName) |
void |
setBookmarkName(java.lang.String value)
Sets the name of the bookmark.
|
void |
setDefaultResponse(java.lang.String value)
Sets default user response (initial value contained in the prompt window).
|
void |
setPromptOnceOnMailMerge(boolean value)
Sets whether the user response should be recieved once per a mail merge operation.
|
void |
setPromptText(java.lang.String value)
Sets the prompt text (the title of the prompt window).
|
getDisplayResult, getEnd, getFieldCode, getFieldCode, getFormat, getLocaleId, getResult, getSeparator, getStart, getType, isDirty, isDirty, isLocked, isLocked, needStoreOldResultNodes, remove, setLocaleId, setResult, unlink, update, updatepublic int getSwitchType(java.lang.String switchName)
public java.lang.String getBookmarkName()
Examples:
Shows how to create an ASK field, and set its properties.
public void fieldAsk() throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Place a field where the response to our ASK field will be placed.
FieldRef fieldRef = (FieldRef) builder.insertField(FieldType.FIELD_REF, true);
fieldRef.setBookmarkName("MyAskField");
builder.writeln();
Assert.assertEquals(" REF MyAskField", fieldRef.getFieldCode());
// Insert the ASK field and edit its properties to reference our REF field by bookmark name.
FieldAsk fieldAsk = (FieldAsk) builder.insertField(FieldType.FIELD_ASK, true);
fieldAsk.setBookmarkName("MyAskField");
fieldAsk.setPromptText("Please provide a response for this ASK field");
fieldAsk.setDefaultResponse("Response from within the field.");
fieldAsk.setPromptOnceOnMailMerge(true);
builder.writeln();
Assert.assertEquals(
" ASK MyAskField \"Please provide a response for this ASK field\" \\d \"Response from within the field.\" \\o",
fieldAsk.getFieldCode());
// ASK fields apply the default response to their respective REF fields during a mail merge.
DataTable table = new DataTable("My Table");
table.getColumns().add("Column 1");
table.getRows().add("Row 1");
table.getRows().add("Row 2");
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Column 1");
// We can modify or override the default response in our ASK fields with a custom prompt responder,
// which will occur during a mail merge.
doc.getFieldOptions().setUserPromptRespondent(new MyPromptRespondent());
doc.getMailMerge().execute(table);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.ASK.docx");
}
/// <summary>
/// Prepends text to the default response of an ASK field during a mail merge.
/// </summary>
private static class MyPromptRespondent implements IFieldUserPromptRespondent {
public String respond(final String promptText, final String defaultResponse) {
return "Response from MyPromptRespondent. " + defaultResponse;
}
}
public void setBookmarkName(java.lang.String value)
throws java.lang.Exception
Examples:
Shows how to create an ASK field, and set its properties.
public void fieldAsk() throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Place a field where the response to our ASK field will be placed.
FieldRef fieldRef = (FieldRef) builder.insertField(FieldType.FIELD_REF, true);
fieldRef.setBookmarkName("MyAskField");
builder.writeln();
Assert.assertEquals(" REF MyAskField", fieldRef.getFieldCode());
// Insert the ASK field and edit its properties to reference our REF field by bookmark name.
FieldAsk fieldAsk = (FieldAsk) builder.insertField(FieldType.FIELD_ASK, true);
fieldAsk.setBookmarkName("MyAskField");
fieldAsk.setPromptText("Please provide a response for this ASK field");
fieldAsk.setDefaultResponse("Response from within the field.");
fieldAsk.setPromptOnceOnMailMerge(true);
builder.writeln();
Assert.assertEquals(
" ASK MyAskField \"Please provide a response for this ASK field\" \\d \"Response from within the field.\" \\o",
fieldAsk.getFieldCode());
// ASK fields apply the default response to their respective REF fields during a mail merge.
DataTable table = new DataTable("My Table");
table.getColumns().add("Column 1");
table.getRows().add("Row 1");
table.getRows().add("Row 2");
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Column 1");
// We can modify or override the default response in our ASK fields with a custom prompt responder,
// which will occur during a mail merge.
doc.getFieldOptions().setUserPromptRespondent(new MyPromptRespondent());
doc.getMailMerge().execute(table);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.ASK.docx");
}
/// <summary>
/// Prepends text to the default response of an ASK field during a mail merge.
/// </summary>
private static class MyPromptRespondent implements IFieldUserPromptRespondent {
public String respond(final String promptText, final String defaultResponse) {
return "Response from MyPromptRespondent. " + defaultResponse;
}
}
value - The name of the bookmark.java.lang.Exceptionpublic java.lang.String getPromptText()
Examples:
Shows how to create an ASK field, and set its properties.
public void fieldAsk() throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Place a field where the response to our ASK field will be placed.
FieldRef fieldRef = (FieldRef) builder.insertField(FieldType.FIELD_REF, true);
fieldRef.setBookmarkName("MyAskField");
builder.writeln();
Assert.assertEquals(" REF MyAskField", fieldRef.getFieldCode());
// Insert the ASK field and edit its properties to reference our REF field by bookmark name.
FieldAsk fieldAsk = (FieldAsk) builder.insertField(FieldType.FIELD_ASK, true);
fieldAsk.setBookmarkName("MyAskField");
fieldAsk.setPromptText("Please provide a response for this ASK field");
fieldAsk.setDefaultResponse("Response from within the field.");
fieldAsk.setPromptOnceOnMailMerge(true);
builder.writeln();
Assert.assertEquals(
" ASK MyAskField \"Please provide a response for this ASK field\" \\d \"Response from within the field.\" \\o",
fieldAsk.getFieldCode());
// ASK fields apply the default response to their respective REF fields during a mail merge.
DataTable table = new DataTable("My Table");
table.getColumns().add("Column 1");
table.getRows().add("Row 1");
table.getRows().add("Row 2");
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Column 1");
// We can modify or override the default response in our ASK fields with a custom prompt responder,
// which will occur during a mail merge.
doc.getFieldOptions().setUserPromptRespondent(new MyPromptRespondent());
doc.getMailMerge().execute(table);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.ASK.docx");
}
/// <summary>
/// Prepends text to the default response of an ASK field during a mail merge.
/// </summary>
private static class MyPromptRespondent implements IFieldUserPromptRespondent {
public String respond(final String promptText, final String defaultResponse) {
return "Response from MyPromptRespondent. " + defaultResponse;
}
}
public void setPromptText(java.lang.String value)
throws java.lang.Exception
Examples:
Shows how to create an ASK field, and set its properties.
public void fieldAsk() throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Place a field where the response to our ASK field will be placed.
FieldRef fieldRef = (FieldRef) builder.insertField(FieldType.FIELD_REF, true);
fieldRef.setBookmarkName("MyAskField");
builder.writeln();
Assert.assertEquals(" REF MyAskField", fieldRef.getFieldCode());
// Insert the ASK field and edit its properties to reference our REF field by bookmark name.
FieldAsk fieldAsk = (FieldAsk) builder.insertField(FieldType.FIELD_ASK, true);
fieldAsk.setBookmarkName("MyAskField");
fieldAsk.setPromptText("Please provide a response for this ASK field");
fieldAsk.setDefaultResponse("Response from within the field.");
fieldAsk.setPromptOnceOnMailMerge(true);
builder.writeln();
Assert.assertEquals(
" ASK MyAskField \"Please provide a response for this ASK field\" \\d \"Response from within the field.\" \\o",
fieldAsk.getFieldCode());
// ASK fields apply the default response to their respective REF fields during a mail merge.
DataTable table = new DataTable("My Table");
table.getColumns().add("Column 1");
table.getRows().add("Row 1");
table.getRows().add("Row 2");
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Column 1");
// We can modify or override the default response in our ASK fields with a custom prompt responder,
// which will occur during a mail merge.
doc.getFieldOptions().setUserPromptRespondent(new MyPromptRespondent());
doc.getMailMerge().execute(table);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.ASK.docx");
}
/// <summary>
/// Prepends text to the default response of an ASK field during a mail merge.
/// </summary>
private static class MyPromptRespondent implements IFieldUserPromptRespondent {
public String respond(final String promptText, final String defaultResponse) {
return "Response from MyPromptRespondent. " + defaultResponse;
}
}
value - The prompt text (the title of the prompt window).java.lang.Exceptionpublic java.lang.String getDefaultResponse()
Examples:
Shows how to create an ASK field, and set its properties.
public void fieldAsk() throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Place a field where the response to our ASK field will be placed.
FieldRef fieldRef = (FieldRef) builder.insertField(FieldType.FIELD_REF, true);
fieldRef.setBookmarkName("MyAskField");
builder.writeln();
Assert.assertEquals(" REF MyAskField", fieldRef.getFieldCode());
// Insert the ASK field and edit its properties to reference our REF field by bookmark name.
FieldAsk fieldAsk = (FieldAsk) builder.insertField(FieldType.FIELD_ASK, true);
fieldAsk.setBookmarkName("MyAskField");
fieldAsk.setPromptText("Please provide a response for this ASK field");
fieldAsk.setDefaultResponse("Response from within the field.");
fieldAsk.setPromptOnceOnMailMerge(true);
builder.writeln();
Assert.assertEquals(
" ASK MyAskField \"Please provide a response for this ASK field\" \\d \"Response from within the field.\" \\o",
fieldAsk.getFieldCode());
// ASK fields apply the default response to their respective REF fields during a mail merge.
DataTable table = new DataTable("My Table");
table.getColumns().add("Column 1");
table.getRows().add("Row 1");
table.getRows().add("Row 2");
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Column 1");
// We can modify or override the default response in our ASK fields with a custom prompt responder,
// which will occur during a mail merge.
doc.getFieldOptions().setUserPromptRespondent(new MyPromptRespondent());
doc.getMailMerge().execute(table);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.ASK.docx");
}
/// <summary>
/// Prepends text to the default response of an ASK field during a mail merge.
/// </summary>
private static class MyPromptRespondent implements IFieldUserPromptRespondent {
public String respond(final String promptText, final String defaultResponse) {
return "Response from MyPromptRespondent. " + defaultResponse;
}
}
public void setDefaultResponse(java.lang.String value)
throws java.lang.Exception
Examples:
Shows how to create an ASK field, and set its properties.
public void fieldAsk() throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Place a field where the response to our ASK field will be placed.
FieldRef fieldRef = (FieldRef) builder.insertField(FieldType.FIELD_REF, true);
fieldRef.setBookmarkName("MyAskField");
builder.writeln();
Assert.assertEquals(" REF MyAskField", fieldRef.getFieldCode());
// Insert the ASK field and edit its properties to reference our REF field by bookmark name.
FieldAsk fieldAsk = (FieldAsk) builder.insertField(FieldType.FIELD_ASK, true);
fieldAsk.setBookmarkName("MyAskField");
fieldAsk.setPromptText("Please provide a response for this ASK field");
fieldAsk.setDefaultResponse("Response from within the field.");
fieldAsk.setPromptOnceOnMailMerge(true);
builder.writeln();
Assert.assertEquals(
" ASK MyAskField \"Please provide a response for this ASK field\" \\d \"Response from within the field.\" \\o",
fieldAsk.getFieldCode());
// ASK fields apply the default response to their respective REF fields during a mail merge.
DataTable table = new DataTable("My Table");
table.getColumns().add("Column 1");
table.getRows().add("Row 1");
table.getRows().add("Row 2");
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Column 1");
// We can modify or override the default response in our ASK fields with a custom prompt responder,
// which will occur during a mail merge.
doc.getFieldOptions().setUserPromptRespondent(new MyPromptRespondent());
doc.getMailMerge().execute(table);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.ASK.docx");
}
/// <summary>
/// Prepends text to the default response of an ASK field during a mail merge.
/// </summary>
private static class MyPromptRespondent implements IFieldUserPromptRespondent {
public String respond(final String promptText, final String defaultResponse) {
return "Response from MyPromptRespondent. " + defaultResponse;
}
}
value - Default user response (initial value contained in the prompt window).java.lang.Exceptionpublic boolean getPromptOnceOnMailMerge()
Examples:
Shows how to create an ASK field, and set its properties.
public void fieldAsk() throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Place a field where the response to our ASK field will be placed.
FieldRef fieldRef = (FieldRef) builder.insertField(FieldType.FIELD_REF, true);
fieldRef.setBookmarkName("MyAskField");
builder.writeln();
Assert.assertEquals(" REF MyAskField", fieldRef.getFieldCode());
// Insert the ASK field and edit its properties to reference our REF field by bookmark name.
FieldAsk fieldAsk = (FieldAsk) builder.insertField(FieldType.FIELD_ASK, true);
fieldAsk.setBookmarkName("MyAskField");
fieldAsk.setPromptText("Please provide a response for this ASK field");
fieldAsk.setDefaultResponse("Response from within the field.");
fieldAsk.setPromptOnceOnMailMerge(true);
builder.writeln();
Assert.assertEquals(
" ASK MyAskField \"Please provide a response for this ASK field\" \\d \"Response from within the field.\" \\o",
fieldAsk.getFieldCode());
// ASK fields apply the default response to their respective REF fields during a mail merge.
DataTable table = new DataTable("My Table");
table.getColumns().add("Column 1");
table.getRows().add("Row 1");
table.getRows().add("Row 2");
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Column 1");
// We can modify or override the default response in our ASK fields with a custom prompt responder,
// which will occur during a mail merge.
doc.getFieldOptions().setUserPromptRespondent(new MyPromptRespondent());
doc.getMailMerge().execute(table);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.ASK.docx");
}
/// <summary>
/// Prepends text to the default response of an ASK field during a mail merge.
/// </summary>
private static class MyPromptRespondent implements IFieldUserPromptRespondent {
public String respond(final String promptText, final String defaultResponse) {
return "Response from MyPromptRespondent. " + defaultResponse;
}
}
public void setPromptOnceOnMailMerge(boolean value)
throws java.lang.Exception
Examples:
Shows how to create an ASK field, and set its properties.
public void fieldAsk() throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Place a field where the response to our ASK field will be placed.
FieldRef fieldRef = (FieldRef) builder.insertField(FieldType.FIELD_REF, true);
fieldRef.setBookmarkName("MyAskField");
builder.writeln();
Assert.assertEquals(" REF MyAskField", fieldRef.getFieldCode());
// Insert the ASK field and edit its properties to reference our REF field by bookmark name.
FieldAsk fieldAsk = (FieldAsk) builder.insertField(FieldType.FIELD_ASK, true);
fieldAsk.setBookmarkName("MyAskField");
fieldAsk.setPromptText("Please provide a response for this ASK field");
fieldAsk.setDefaultResponse("Response from within the field.");
fieldAsk.setPromptOnceOnMailMerge(true);
builder.writeln();
Assert.assertEquals(
" ASK MyAskField \"Please provide a response for this ASK field\" \\d \"Response from within the field.\" \\o",
fieldAsk.getFieldCode());
// ASK fields apply the default response to their respective REF fields during a mail merge.
DataTable table = new DataTable("My Table");
table.getColumns().add("Column 1");
table.getRows().add("Row 1");
table.getRows().add("Row 2");
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Column 1");
// We can modify or override the default response in our ASK fields with a custom prompt responder,
// which will occur during a mail merge.
doc.getFieldOptions().setUserPromptRespondent(new MyPromptRespondent());
doc.getMailMerge().execute(table);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.ASK.docx");
}
/// <summary>
/// Prepends text to the default response of an ASK field during a mail merge.
/// </summary>
private static class MyPromptRespondent implements IFieldUserPromptRespondent {
public String respond(final String promptText, final String defaultResponse) {
return "Response from MyPromptRespondent. " + defaultResponse;
}
}
value - Whether the user response should be recieved once per a mail merge operation.java.lang.Exception