GdPicture.NET.14
GdPicture14 Namespace / GdPicturePDF Class / SetFormFieldItemSort Method
A unique form field identifier specifying a required form field object. You can obtain this identifier using methods like GetFormFieldId, GetFormFieldChildID or methods intended to add form fields.
Set this parameter to true, if you want to enable the Sort flag, otherwise set it to false to disable it.
Example





In This Topic
SetFormFieldItemSort Method (GdPicturePDF)
In This Topic
Sets the Sort flag of a required form field, hereabout a choice field. The required form field is specified by its unique form field's identifier and it is related to the currently loaded PDF document. As stated, this flag is only specific to choice fields, so this method is explicitly applicable to combo box and list box form field objects.

If this flag is set, the field's items should be sorted alphabetically. Be aware that this flag is only bear in mind when creating or processing forms within applications, not by PDF viewer. Viewers should simply display the options in the order in which the corresponding items are added in the form field.

Syntax
'Declaration
 
Public Function SetFormFieldItemSort( _
   ByVal FieldId As Integer, _
   ByVal Sorted As Boolean _
) As GdPictureStatus
public GdPictureStatus SetFormFieldItemSort( 
   int FieldId,
   bool Sorted
)
public function SetFormFieldItemSort( 
    FieldId: Integer;
    Sorted: Boolean
): GdPictureStatus; 
public function SetFormFieldItemSort( 
   FieldId : int,
   Sorted : boolean
) : GdPictureStatus;
public: GdPictureStatus SetFormFieldItemSort( 
   int FieldId,
   bool Sorted
) 
public:
GdPictureStatus SetFormFieldItemSort( 
   int FieldId,
   bool Sorted
) 

Parameters

FieldId
A unique form field identifier specifying a required form field object. You can obtain this identifier using methods like GetFormFieldId, GetFormFieldChildID or methods intended to add form fields.
Sorted
Set this parameter to true, if you want to enable the Sort flag, otherwise set it to false to disable it.

Return Value

A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK.

We strongly recommend always checking this status first.

Remarks
This method is only allowed for use with non-encrypted documents.

Just to remind you, that this method is only meaningful for choice form fields, that means for combo boxes or list boxes, otherwise it will fail.

Example
How to set the Sort flag for all list boxes in the current document.
Dim caption As String = "Example: SetFormFieldItemSort"
Dim save As Boolean = False
Dim gdpicturePDF As GdPicturePDF = New GdPicturePDF()
If gdpicturePDF.LoadFromFile("forms.pdf", False) = GdPictureStatus.OK Then
    Dim count As Integer = gdpicturePDF.GetFormFieldsCount()
    If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
        If count = 0 Then
            MessageBox.Show("This document includes no form fields.", caption)
        Else
            Dim formID As Integer = 0
            Dim type As PdfFormFieldType = PdfFormFieldType.PdfFormFieldTypeUnknown
            For i As Integer = 0 To count - 1
                formID = gdpicturePDF.GetFormFieldId(i)
                If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
                    type = gdpicturePDF.GetFormFieldType(formID)
                    If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
                        If type = PdfFormFieldType.PdfFormFieldTypeList Then
                            If (gdpicturePDF.SetFormFieldItemSort(formID, True) = GdPictureStatus.OK) AndAlso
                               (gdpicturePDF.SetFormFieldMultiSelect(formID, True) = GdPictureStatus.OK) Then
                                save = True
                            Else
                                MessageBox.Show("The SetFormFieldItemSort()/SetFormFieldMultiSelect() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                                Exit For
                            End If
                        End If
                    Else
                        MessageBox.Show("The GetFormFieldType() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                        Exit For
                    End If
                Else
                    MessageBox.Show("The GetFormFieldId() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
                    Exit For
                End If
            Next
            If gdpicturePDF.GetStat() = GdPictureStatus.OK Then
                If save Then
                    If gdpicturePDF.SaveToFile("forms_updated.pdf") = GdPictureStatus.OK Then
                        MessageBox.Show("The example has been followed successfully and the file has been saved.", caption)
                    Else
                        MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + gdpicturePDF.GetStat().ToString(), caption)
                    End If
                Else
                    MessageBox.Show("This document includes no list boxes. The file has not been changed and has not been saved as well.", caption)
                End If
            End If
        End If
    Else
        MessageBox.Show("The GetFormFieldsCount() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption)
    End If
Else
    MessageBox.Show("The file can't be loaded. Status: " + gdpicturePDF.GetStat().ToString(), caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: SetFormFieldItemSort";
bool save = false;
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if (gdpicturePDF.LoadFromFile("forms.pdf", false) == GdPictureStatus.OK)
{
    int count = gdpicturePDF.GetFormFieldsCount();
    if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
    {
        if (count == 0)
            MessageBox.Show("This document includes no form fields.", caption);
        else
        {
            int formID = 0;
            PdfFormFieldType type = PdfFormFieldType.PdfFormFieldTypeUnknown;
            for (int i = 0; i < count; i++)
            {
                formID = gdpicturePDF.GetFormFieldId(i);
                if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
                {
                    type = gdpicturePDF.GetFormFieldType(formID);
                    if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
                    {
                        if (type == PdfFormFieldType.PdfFormFieldTypeList)
                        {
                            if ((gdpicturePDF.SetFormFieldItemSort(formID, true) == GdPictureStatus.OK) &&
                                (gdpicturePDF.SetFormFieldMultiSelect(formID, true) == GdPictureStatus.OK))
                            {
                                save = true;
                            }
                            else
                            {
                                MessageBox.Show("The SetFormFieldItemSort()/SetFormFieldMultiSelect() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
                                break;
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("The GetFormFieldType() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
                        break;
                    }
                }
                else
                {
                    MessageBox.Show("The GetFormFieldId() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
                    break;
                }
            }
            if (gdpicturePDF.GetStat() == GdPictureStatus.OK)
            {
                if (save)
                {
                    if (gdpicturePDF.SaveToFile("forms_updated.pdf") == GdPictureStatus.OK)
                        MessageBox.Show("The example has been followed successfully and the file has been saved.", caption);
                    else
                        MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + gdpicturePDF.GetStat().ToString(), caption);
                }
                else
                    MessageBox.Show("This document includes no list boxes. The file has not been changed and has not been saved as well.", caption);
            }
        }
    }
    else
        MessageBox.Show("The GetFormFieldsCount() method has failed with the status: " + gdpicturePDF.GetStat().ToString(), caption);
}
else
    MessageBox.Show("The file can't be loaded. Status: " + gdpicturePDF.GetStat().ToString(), caption);
gdpicturePDF.Dispose();
See Also