com.aspose.words

Class SdtListItem

  • java.lang.Object
    • com.aspose.words.SdtListItem
  • All Implemented Interfaces:
    java.lang.Cloneable
    public class SdtListItem 
    extends java.lang.Object

This element specifies a single list item within a parent SdtType.COMBO_BOX or SdtType.DROP_DOWN_LIST structured document tag.

Example:

Shows how to work with StructuredDocumentTag nodes of the DropDownList type.
// Create a blank document and insert a StructuredDocumentTag that will contain a drop down list
Document doc = new Document();
StructuredDocumentTag tag = new StructuredDocumentTag(doc, SdtType.DROP_DOWN_LIST, MarkupLevel.BLOCK);
doc.getFirstSection().getBody().appendChild(tag);

// A drop down list needs elements, each of which will be a SdtListItem
SdtListItemCollection listItems = tag.getListItems();
listItems.add(new SdtListItem("Value 1"));

// Each SdtListItem has text that will be displayed when the drop down list is opened, and also a value
// When we initialize with one string, we are providing just the value
// Accordingly, value is passed as DisplayText and will consequently be displayed on the screen
Assert.assertEquals(listItems.get(0).getValue(), listItems.get(0).getDisplayText());

// Add 3 more SdtListItems with non-empty strings passed to DisplayText
listItems.add(new SdtListItem("Item 2", "Value 2"));
listItems.add(new SdtListItem("Item 3", "Value 3"));
listItems.add(new SdtListItem("Item 4", "Value 4"));

// We can obtain a count of the SdtListItems and also set the drop down list's SelectedValue attribute to
// automatically have one of them pre-selected when we open the document in Microsoft Word
Assert.assertEquals(listItems.getCount(), 4);
listItems.setSelectedValue(listItems.get(3));

Assert.assertEquals(listItems.getSelectedValue().getValue(), "Value 4");

// We can enumerate over the collection and print each element
Iterator<SdtListItem> enumerator = listItems.iterator();
while (enumerator.hasNext()) {
    SdtListItem sdtListItem = enumerator.next();
    System.out.println(MessageFormat.format("List item: {0}, value: {1}", sdtListItem.getDisplayText(), sdtListItem.getValue()));
}

// We can also remove elements one at a time
listItems.removeAt(3);
Assert.assertEquals(listItems.getCount(), 3);

// Make sure to update the SelectedValue's index if it ever ends up out of bounds before saving the document
listItems.setSelectedValue(listItems.get(1));

doc.save(getArtifactsDir() + "SDT.ListItemCollection.docx");

// We can clear the whole collection at once too
listItems.clear();
Assert.assertEquals(listItems.getCount(), 0);

Constructor Summary
SdtListItem(java.lang.StringdisplayText, java.lang.Stringvalue)
Initializes a new instance of this class.
SdtListItem(java.lang.Stringvalue)
Initializes a new instance of this class.
 
Property Getters/Setters Summary
java.lang.StringgetDisplayText()
Gets the text to display in the run content in place of the Value attribute contents for this list item.
java.lang.StringgetValue()
Gets the value of this list item.
 

    • Constructor Detail

      • SdtListItem

        public SdtListItem(java.lang.String displayText, java.lang.String value)
        Initializes a new instance of this class.

        Example:

        Shows how to work with StructuredDocumentTag nodes of the DropDownList type.
        // Create a blank document and insert a StructuredDocumentTag that will contain a drop down list
        Document doc = new Document();
        StructuredDocumentTag tag = new StructuredDocumentTag(doc, SdtType.DROP_DOWN_LIST, MarkupLevel.BLOCK);
        doc.getFirstSection().getBody().appendChild(tag);
        
        // A drop down list needs elements, each of which will be a SdtListItem
        SdtListItemCollection listItems = tag.getListItems();
        listItems.add(new SdtListItem("Value 1"));
        
        // Each SdtListItem has text that will be displayed when the drop down list is opened, and also a value
        // When we initialize with one string, we are providing just the value
        // Accordingly, value is passed as DisplayText and will consequently be displayed on the screen
        Assert.assertEquals(listItems.get(0).getValue(), listItems.get(0).getDisplayText());
        
        // Add 3 more SdtListItems with non-empty strings passed to DisplayText
        listItems.add(new SdtListItem("Item 2", "Value 2"));
        listItems.add(new SdtListItem("Item 3", "Value 3"));
        listItems.add(new SdtListItem("Item 4", "Value 4"));
        
        // We can obtain a count of the SdtListItems and also set the drop down list's SelectedValue attribute to
        // automatically have one of them pre-selected when we open the document in Microsoft Word
        Assert.assertEquals(listItems.getCount(), 4);
        listItems.setSelectedValue(listItems.get(3));
        
        Assert.assertEquals(listItems.getSelectedValue().getValue(), "Value 4");
        
        // We can enumerate over the collection and print each element
        Iterator<SdtListItem> enumerator = listItems.iterator();
        while (enumerator.hasNext()) {
            SdtListItem sdtListItem = enumerator.next();
            System.out.println(MessageFormat.format("List item: {0}, value: {1}", sdtListItem.getDisplayText(), sdtListItem.getValue()));
        }
        
        // We can also remove elements one at a time
        listItems.removeAt(3);
        Assert.assertEquals(listItems.getCount(), 3);
        
        // Make sure to update the SelectedValue's index if it ever ends up out of bounds before saving the document
        listItems.setSelectedValue(listItems.get(1));
        
        doc.save(getArtifactsDir() + "SDT.ListItemCollection.docx");
        
        // We can clear the whole collection at once too
        listItems.clear();
        Assert.assertEquals(listItems.getCount(), 0);
      • SdtListItem

        public SdtListItem(java.lang.String value)
        Initializes a new instance of this class.

        Example:

        Shows how to work with StructuredDocumentTag nodes of the DropDownList type.
        // Create a blank document and insert a StructuredDocumentTag that will contain a drop down list
        Document doc = new Document();
        StructuredDocumentTag tag = new StructuredDocumentTag(doc, SdtType.DROP_DOWN_LIST, MarkupLevel.BLOCK);
        doc.getFirstSection().getBody().appendChild(tag);
        
        // A drop down list needs elements, each of which will be a SdtListItem
        SdtListItemCollection listItems = tag.getListItems();
        listItems.add(new SdtListItem("Value 1"));
        
        // Each SdtListItem has text that will be displayed when the drop down list is opened, and also a value
        // When we initialize with one string, we are providing just the value
        // Accordingly, value is passed as DisplayText and will consequently be displayed on the screen
        Assert.assertEquals(listItems.get(0).getValue(), listItems.get(0).getDisplayText());
        
        // Add 3 more SdtListItems with non-empty strings passed to DisplayText
        listItems.add(new SdtListItem("Item 2", "Value 2"));
        listItems.add(new SdtListItem("Item 3", "Value 3"));
        listItems.add(new SdtListItem("Item 4", "Value 4"));
        
        // We can obtain a count of the SdtListItems and also set the drop down list's SelectedValue attribute to
        // automatically have one of them pre-selected when we open the document in Microsoft Word
        Assert.assertEquals(listItems.getCount(), 4);
        listItems.setSelectedValue(listItems.get(3));
        
        Assert.assertEquals(listItems.getSelectedValue().getValue(), "Value 4");
        
        // We can enumerate over the collection and print each element
        Iterator<SdtListItem> enumerator = listItems.iterator();
        while (enumerator.hasNext()) {
            SdtListItem sdtListItem = enumerator.next();
            System.out.println(MessageFormat.format("List item: {0}, value: {1}", sdtListItem.getDisplayText(), sdtListItem.getValue()));
        }
        
        // We can also remove elements one at a time
        listItems.removeAt(3);
        Assert.assertEquals(listItems.getCount(), 3);
        
        // Make sure to update the SelectedValue's index if it ever ends up out of bounds before saving the document
        listItems.setSelectedValue(listItems.get(1));
        
        doc.save(getArtifactsDir() + "SDT.ListItemCollection.docx");
        
        // We can clear the whole collection at once too
        listItems.clear();
        Assert.assertEquals(listItems.getCount(), 0);
    • Property Getters/Setters Detail

      • getDisplayText

        public java.lang.String getDisplayText()
        
        Gets the text to display in the run content in place of the Value attribute contents for this list item.

        Cannot be null and cannot be an empty string.

        Example:

        Shows how to work with StructuredDocumentTag nodes of the DropDownList type.
        // Create a blank document and insert a StructuredDocumentTag that will contain a drop down list
        Document doc = new Document();
        StructuredDocumentTag tag = new StructuredDocumentTag(doc, SdtType.DROP_DOWN_LIST, MarkupLevel.BLOCK);
        doc.getFirstSection().getBody().appendChild(tag);
        
        // A drop down list needs elements, each of which will be a SdtListItem
        SdtListItemCollection listItems = tag.getListItems();
        listItems.add(new SdtListItem("Value 1"));
        
        // Each SdtListItem has text that will be displayed when the drop down list is opened, and also a value
        // When we initialize with one string, we are providing just the value
        // Accordingly, value is passed as DisplayText and will consequently be displayed on the screen
        Assert.assertEquals(listItems.get(0).getValue(), listItems.get(0).getDisplayText());
        
        // Add 3 more SdtListItems with non-empty strings passed to DisplayText
        listItems.add(new SdtListItem("Item 2", "Value 2"));
        listItems.add(new SdtListItem("Item 3", "Value 3"));
        listItems.add(new SdtListItem("Item 4", "Value 4"));
        
        // We can obtain a count of the SdtListItems and also set the drop down list's SelectedValue attribute to
        // automatically have one of them pre-selected when we open the document in Microsoft Word
        Assert.assertEquals(listItems.getCount(), 4);
        listItems.setSelectedValue(listItems.get(3));
        
        Assert.assertEquals(listItems.getSelectedValue().getValue(), "Value 4");
        
        // We can enumerate over the collection and print each element
        Iterator<SdtListItem> enumerator = listItems.iterator();
        while (enumerator.hasNext()) {
            SdtListItem sdtListItem = enumerator.next();
            System.out.println(MessageFormat.format("List item: {0}, value: {1}", sdtListItem.getDisplayText(), sdtListItem.getValue()));
        }
        
        // We can also remove elements one at a time
        listItems.removeAt(3);
        Assert.assertEquals(listItems.getCount(), 3);
        
        // Make sure to update the SelectedValue's index if it ever ends up out of bounds before saving the document
        listItems.setSelectedValue(listItems.get(1));
        
        doc.save(getArtifactsDir() + "SDT.ListItemCollection.docx");
        
        // We can clear the whole collection at once too
        listItems.clear();
        Assert.assertEquals(listItems.getCount(), 0);
      • getValue

        public java.lang.String getValue()
        
        Gets the value of this list item.

        Cannot be null and cannot be an empty string.

        Example:

        Shows how to work with StructuredDocumentTag nodes of the DropDownList type.
        // Create a blank document and insert a StructuredDocumentTag that will contain a drop down list
        Document doc = new Document();
        StructuredDocumentTag tag = new StructuredDocumentTag(doc, SdtType.DROP_DOWN_LIST, MarkupLevel.BLOCK);
        doc.getFirstSection().getBody().appendChild(tag);
        
        // A drop down list needs elements, each of which will be a SdtListItem
        SdtListItemCollection listItems = tag.getListItems();
        listItems.add(new SdtListItem("Value 1"));
        
        // Each SdtListItem has text that will be displayed when the drop down list is opened, and also a value
        // When we initialize with one string, we are providing just the value
        // Accordingly, value is passed as DisplayText and will consequently be displayed on the screen
        Assert.assertEquals(listItems.get(0).getValue(), listItems.get(0).getDisplayText());
        
        // Add 3 more SdtListItems with non-empty strings passed to DisplayText
        listItems.add(new SdtListItem("Item 2", "Value 2"));
        listItems.add(new SdtListItem("Item 3", "Value 3"));
        listItems.add(new SdtListItem("Item 4", "Value 4"));
        
        // We can obtain a count of the SdtListItems and also set the drop down list's SelectedValue attribute to
        // automatically have one of them pre-selected when we open the document in Microsoft Word
        Assert.assertEquals(listItems.getCount(), 4);
        listItems.setSelectedValue(listItems.get(3));
        
        Assert.assertEquals(listItems.getSelectedValue().getValue(), "Value 4");
        
        // We can enumerate over the collection and print each element
        Iterator<SdtListItem> enumerator = listItems.iterator();
        while (enumerator.hasNext()) {
            SdtListItem sdtListItem = enumerator.next();
            System.out.println(MessageFormat.format("List item: {0}, value: {1}", sdtListItem.getDisplayText(), sdtListItem.getValue()));
        }
        
        // We can also remove elements one at a time
        listItems.removeAt(3);
        Assert.assertEquals(listItems.getCount(), 3);
        
        // Make sure to update the SelectedValue's index if it ever ends up out of bounds before saving the document
        listItems.setSelectedValue(listItems.get(1));
        
        doc.save(getArtifactsDir() + "SDT.ListItemCollection.docx");
        
        // We can clear the whole collection at once too
        listItems.clear();
        Assert.assertEquals(listItems.getCount(), 0);