• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 607
  • Last Modified:

DropDownList default value.

Using Sharepoint 2007 and Visula Studio 2008(vb.net),

I have an item in the DropDownList 'Select A Value'. This item is the first and the default value for the dropdownlist. The code is shown below for reference.

However, When the dropdownlist is required, and the user does not select a value other than the item 'Select A Value'. I need the sharepoint to prompt that the dropdownlist is a required field.

How can I do that or any suggestions? If you have any other clarifications, please let me know.
Public Class MetadataDropdown
    Inherits DropDownList
    Implements IMetadataUserControl

     Public Property MetadataCategory() As String Implements IMetadataUserControl.MetadataCategory

    ''' <summary>
    ''' Constructor
    ''' </summary>
    ''' <param name="collection"></param>
    ''' <param name="selectedValues"></param>
    ''' <remarks></remarks>
    Public Sub New(ByVal collection As MetadataCollection, ByVal selectedValues As String)
        PopulateControl(collection, selectedValues)
        CreateDefaultListitem()
    End Sub

    ''' <summary>
    ''' Overloaded Constructor
    ''' </summary>
    ''' <param name="collection"></param>
    ''' <param name="selectedValues"></param>
    ''' <param name="defaultText"></param>
    ''' <remarks></remarks>
    Public Sub New(ByVal collection As MetadataCollection, ByVal selectedValues As String, ByVal defaultText As String)
        LoadValue(collection, selectedValues)
        CreateDefaultListitem()
    End Sub

    ''' <summary>
    ''' This method creates the "Select A Value" default value listitem 
    ''' then insert it in the dropdown.
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub CreateDefaultListitem()
        'Create the listItem "Select A Value"
        Dim defaultListitem As New System.Web.UI.WebControls.ListItem
        defaultListitem.Text = "Select A Value"
        defaultListitem.Value = Nothing
        'Insert the default Listitem in the dropdown.
        Me.Items.Insert(0, defaultListitem)
    End Sub

End Class

Open in new window

0
PagodNaUtak
Asked:
PagodNaUtak
1 Solution
 
DhaestCommented:
You can use a requiredfieldvalidator

http://msdn.microsoft.com/en-us/library/aa479013.aspx

<asp:RequiredFieldValidator id="RequiredFieldValidator1"  
  runat="server" ErrorMessage="Please make a selection"
  ControlToValidate="MetadataDropdown"
  InitialValue="Select A Value">
</asp:RequiredFieldValidator>
0
 
PagodNaUtakAuthor Commented:
@Dhaest, Thank you for your comment or suggestion.

but I could not implement your suggestion because it is a sharepoint page.
When you create a sharepoint page validation is automatically added.

I think the problem is that by default the selected item is the first item which is has the index of 0.
First item is the 'Select A Value'.

So, logically if the validation is checked there is actually a selected item. I just want to know that if there is a way in sharepoint that once the selected item in dropdownlist is 'Select A Value' or the SelectedIndex is 0, it will treat it as no selection or the selected index is -1.

Please, let me know if you need clarifications.

Again thank you for your suggestion.
0
 
John ClaesCommented:
why don't you use the Range validation ?
giving a 0 as the default but setting the range validation from 1 till ....
That way the validation stays failing if the default is still selected

regards
poor beggar
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
PagodNaUtakAuthor Commented:
Hi, as posted in the ID:35068228, same reason with required field validator why I can't implement your suggestion.

regards,

Joseph
0
 
Paul JacksonCommented:
Instead of giving the default item a value of 0 try an empty string ""
0
 
PagodNaUtakAuthor Commented:
Thanks! Perfect!
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now