2013-12-20 3 views
0

У меня есть выпадающее поле, которое заполняет выпадающее поле со списком, основанное на значении первого. Это прекрасно работает. Однако, если я выберу элемент в раскрывающемся списке и закрою форму, при повторном открытии старые значения по-прежнему отображаются в раскрывающемся списке, а не по умолчанию, когда форма сначала открывается. Я заполняю раскрывающееся меню события from_load и dropdownstyle = dropdown. Я был бы признателен, если бы кто-нибудь помог мне с этим. Большое спасибоВосстановить Combobox до исходного состояния по форме закрыть

'Routine to fill customer combo box 

    Sub fillClientCombo() 
     DBConnection.connect() 
     sql = "SELECT * from Customers" 

     Dim cmd As New OleDb.OleDbCommand 
     cmd.CommandText = sql 
     cmd.Connection = oledbCnn 
     dr = cmd.ExecuteReader 

     cmbCustomer.Text = "Select a customer" 
     cmbDept.Text = "Select a dept" 
     cmbRequestBy.Text = "Select a contact" 

     While (dr.Read()) 

      cmbCustomer.Items.Add(dr("Code")) 

     End While 

     cmd.Dispose() 
     dr.Close() 
     oledbCnn.Close() 
    End Sub 
+0

Как вы экземпляр формы? –

+0

Извините Бьорн, не уверен, что вы имеете в виду. Спасибо – user1532468

+0

Если вы создаете новую форму 'Dim f As New Form()', у вас может быть более сложная проблема, чем при использовании существующей формы, например 'My.Forms.Form1' или' Me.myform'. –

ответ

1

Добавить событие FormClosed в вашу форму и очистить или сбросить свои выпадающие списки.

+0

спасибо. – user1532468

1

Это просто, просто очистить ComboBox, прежде чем заполнить ее:

Sub fillClientCombo() 
    cmbCustomer.Items.Clear()'<-- Do this first 
    '...Your code 
End Sub 
Смежные вопросы