Click here to Skip to main content
15,881,803 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
HI All,

I am working on Window application..I have a combo box with values like 0,3,7 ,20...I load the combo box from the Datatable like the code below;
VB
Dim m_dtDelayedDeliveryDays As New DataTable
       m_dtDelayedDeliveryDays = GetDelayedDeliveryDays()


       For Each dr As DataRow In m_dtDelayedDeliveryDays.Rows
           Me.cmbDelayedDeliveryDays.Items.Add(dr("DeliveryDelayDays"))
       Next
       cmbDelayedDeliveryDays.DataSource = m_dtDelayedDeliveryDays
       cmbDelayedDeliveryDays.DisplayMember = "DeliveryDelayDays"
       cmbDelayedDeliveryDays.ValueMember = "DeliveryDelayDaysID"
       cmbDelayedDeliveryDays.SelectedIndex = -1

This works fine..When the selected index gets changed say for example i select 20 it automatically changes to 0...Here is wat i do in Selected index changed:
SQL
Private Sub cmbDelayedDeliveryDays_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmbDelayedDeliveryDays.SelectedIndexChanged
        If cmbDelayedDeliveryDays.SelectedIndex > 0 Then

            Dim selectedDataRow As DataRow = DirectCast(cmbDelayedDeliveryDays.SelectedItem, DataRowView).Row


            Dim delayId As Integer = Convert.ToInt32(selectedDataRow("DeliveryDelayDaysID"))


            UpdateMerchant()

        End If


    End Sub



Please help me with this...When i retrieve the form i get the form i assign the combo box the value from the database like this:

VB
Dim delayid As Integer = .DeliveryDelayDaysID
           Dim m_dtDelayedDeliveryDays As New DataTable
           m_dtDelayedDeliveryDays = GetDelayedDeliveryDays()
           Dim str As Integer
           For Each drow As DataRow In m_dtDelayedDeliveryDays.Rows
               If drow("DeliveryDelayDaysID").Equals(delayid) Then
                   str = drow("DeliveryDelayDays")
                   cmbDelayedDeliveryDays.Text = str
               End If

           Next


Where am i going wrong..Please help.Thanks.
Posted

1 solution

You are assigning the SelectedValue as -1 in the below code, due to which it is assigning the default value, which is zero:

VB
cmbDelayedDeliveryDays.DataSource = m_dtDelayedDeliveryDays
       cmbDelayedDeliveryDays.DisplayMember = "DeliveryDelayDays"
       cmbDelayedDeliveryDays.ValueMember = "DeliveryDelayDaysID"

cmbDelayedDeliveryDays.SelectedIndex = -1 //Comment this line and check again.

Hope this solve your issue...

If any queries do let me know.
 
Share this answer
 
Comments
vidkaat 21-May-13 8:27am    
Thanks Mohammed...That does not help me....I need to store the selected text id into my datatable.
Mohammed Hameed 21-May-13 10:45am    
Welcome!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900