Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Need the first line of a combo box to be blank enterable

Posted on 2006-04-25
4
Medium Priority
?
267 Views
Last Modified: 2010-04-23
I load CboAgency with the code below. How can I enter a blank row before ALLl  so user can enter his/her desireable value?

TheAgenyIdTable = GetAgencyId()
            cboAgencyId.DataSource = TheAgenyIdTable
            cboAgencyId.DataTextField = "AGENCY_Id"
            cboAgencyId.DataValueField = "AGENCY_Id"
            cboAgencyId.DataBind()
            cboAgencyId.Items.Insert(0, New ListItem("--ALL--", ""))
0
Comment
Question by:sraymond101
  • 2
4 Comments
 
LVL 44

Expert Comment

by:bruintje
ID: 16541284
Hello sraymond101,

you could look at
source: http://www.experts-exchange.com/Q_21771251.html
----------
1. include it in the datasource by changing the SQL to inlcude one blank row
2. add it to the datasource as showed in that PAQ > Ds.Tables("mytable").Rows.Add(Ds.Tables("mytable").NewRow)
----------

hope this helps a bit
bruintje
0
 

Author Comment

by:sraymond101
ID: 16542338
Adding this line cboAgencyId.Items.Insert(0, New ListItem("", "")) under   cboAgencyId.Items.Insert(0, New ListItem("--ALL--", "")) creates the blanks row but it reads only, and the user can not  enter data there. I would like for the user to be able to start typing into the blank row and the blank is populated with a number from the combo box
0
 

Author Comment

by:sraymond101
ID: 16543033
Resolve: My comment above fix it. I just to remove isposback from the cboAgencyId property
0
 
LVL 1

Accepted Solution

by:
Garyls earned 1000 total points
ID: 16552848
Here is a control that inherits from the combobox. It doesn't add a blank row but will handle a null/empty value. You'll need to bind to "SelectedValueEx".

On press of backspace/delete it will clear the value also.

Hope its some use:

 Public Class TheDropDownList
    Inherits ComboBox

#Region " Windows Form Designer generated code "

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.

    'UserControl overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
      If disposing Then
        If Not (components Is Nothing) Then
          components.Dispose()
        End If
      End If
      MyBase.Dispose(disposing)
    End Sub
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

      Me.SuspendLayout()
      Me.Name = "TheDropDownList"
      Me.Size = New System.Drawing.Size(543, 96)
      Me.ResumeLayout(False)
      Me.PerformLayout()

    End Sub

#End Region

    Const _NullText As String = "-ALL-" ' "(Not Selected)"

    Event SelectedValueExChanged As EventHandler

    Private m_ValueEx As Object
    Property SelectedValueEx() As Object
      Get
        Return m_ValueEx
      End Get
      Set(ByVal value As Object)
        SetSelectedValueEx(value)
      End Set
    End Property

    Private Sub SetSelectedValueEx(ByVal value As Object)
      Static Running As Boolean
      If Running Then Exit Sub
      Try
        Running = True
        If value Is Nothing OrElse value Is DBNull.Value OrElse CStr(value) = "" OrElse CStr(value) = "0" Then
          'Raises the SelectedIndexChanged and SelectedValueChanged events
          Me.SelectedIndex = -1
          Me.Text = _NullText
          m_ValueEx = DBNull.Value
        Else
          m_ValueEx = value
          Me.SelectedValue = m_ValueEx
        End If
        RaiseEvent SelectedValueExChanged(Me, New EventArgs)
      Finally
        Running = False
      End Try
    End Sub

    Private Sub DropDownList_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SelectedValueChanged
      SetSelectedValueEx(Me.SelectedValue)
    End Sub

    Private Sub DropDownList_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        e.Handled = True
        e.SuppressKeyPress = True
        Select Case e.KeyCode
          Case Keys.Delete, Keys.Back
            'Clear the Value
            SetSelectedValueEx(DBNull.Value)
        End Select
    End Sub

    Public Sub New()
      MyBase.New()

      'This call is required by the Windows Form Designer.
      InitializeComponent()

    End Sub
End Class
0

Featured Post

[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

Question has a verified solution.

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

Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
Are you ready to place your question in front of subject-matter experts for more timely responses? With the release of Priority Question, Premium Members, Team Accounts and Qualified Experts can now identify the emergent level of their issue, signal…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …

810 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