Solved

DropDownList default value.

Posted on 2011-03-08
6
572 Views
Last Modified: 2012-05-11
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
Comment
Question by:PagodNaUtak
6 Comments
 
LVL 53

Expert Comment

by:Dhaest
ID: 35068158
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
 
LVL 8

Author Comment

by:PagodNaUtak
ID: 35068228
@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
 
LVL 10

Expert Comment

by:John Claes
ID: 35068311
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
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 8

Author Comment

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

regards,

Joseph
0
 
LVL 29

Accepted Solution

by:
Paul Jackson earned 500 total points
ID: 35068919
Instead of giving the default item a value of 0 try an empty string ""
0
 
LVL 8

Author Closing Comment

by:PagodNaUtak
ID: 35079709
Thanks! Perfect!
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
update textboxes with Streamreader 21 42
DataGridView Events ? 3 37
Licensing Sharepoint 2016 for developers 11 28
VB.NET Repostiory Pattern 7 8
Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
SharePoint Designer 2010 has tools and commands to do everything that can be done with web parts in the browser, and then some – except uploading a web part straight into a page that is edited in SPD. So, can it be done? Scenario For a recent pr…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
This is used to tweak the memory usage for your computer, it is used for servers more so than workstations but just be careful editing registry settings as it may cause irreversible results. I hold no responsibility for anything you do to the regist…

912 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now