Page Post Back -- how to retain selecteditem.value of TWO dropdowns???

K

KathyB

Hi,

On Page Load (if not postback), the user selects a choice from
dropdownlist1.

On SelectedItemChanged for dropdownlist1, dropdownlist2 is populated
and the user selects an item.

I cannot find a combination where I can RETAIN both values during
postback...if I put if not posback on the change event of
dropdownlist1, it doesn't populate #2...

Any help appreciated!

Kathy
 
T

Todd Thompson

What does your event handler for SelectedItemChanged for dropdownlist1 look
like?

Todd Thompson
 
K

Kathy Burke

Here are both pageload and selecteditemchanged...when I load the page,
it let's me select the Customer (control 1), and DOES filter the second
control, but at the same time, resets control 1 to "Select
Customer"...ugh.

Both controls set to autopostback and enable viewstate.

Any ideas?

Thanks.
KathyBurke

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here

If Not IsPostBack Then
Dim Conn1 As OleDbConnection
Dim Rdr1 As OleDbDataReader
Dim Cmd1 As OleDbCommand
Dim strSQL As String
Conn1 = New OleDbConnection(strConn)
strSQL = "SELECT DISTINCT Customer FROM tblCustomers ORDER
BY Customer"
Cmd1 = New OleDbCommand(strSQL, Conn1)
Conn1.Open()
Rdr1 = Cmd1.ExecuteReader()
cboCust.DataSource = Rdr1
cboCust.DataBind()
cboCust.Items.Insert(0, "Select Customer")
cboCust.SelectedIndex = 0
Rdr1.Close()
Conn1.Close()
End If

End Sub

Private Sub cboCust_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
cboCust.SelectedIndexChanged

Dim Conn2 As New OleDbConnection()
Dim Rdr2 As OleDbDataReader
Dim strSQL2 As String = "SELECT Assy FROM tblAssy WHERE
([Customer] = @customer) ORDER BY Assy"
Dim Cmd2 As New OleDbCommand(strSQL2, Conn2)
Conn2 = New OleDbConnection(strConn)
Dim prmCustomer As OleDbParameter = New
OleDbParameter("@customer", OleDbType.VarChar, 50)
prmCustomer.Value = cboCust.SelectedItem.Value
Cmd2.Parameters.Add(prmCustomer)
Cmd2.Connection = Conn2
Conn2.Open()
Rdr2 = Cmd2.ExecuteReader()
cboAssy.DataSource = Rdr2
cboAssy.DataBind()
cboAssy.Items.Insert(0, "Select Assembly")
cboCust.SelectedIndex = 0
Rdr2.Close()
Conn2.Close()
End Sub
 
T

Todd Thompson

In your handler you have the following line:


cboCust.SelectedIndex = 0


If I'm understanding your code and problem correctly, you are setting the
index of the drop down to the first item instead of leaving it set to its
previous value.


Todd Thompson
 
T

Todd Thompson

You are correct in that the code contained within the Page_Load function and
in the IF NOT POSTBACK conditional won't be run.

But in your event handler cboCust_SelectedIndexChanged, you are setting the
cboCust.SelectedIndex=0 which will affect that drop down on the current
page.

Todd Thompson
 
K

Kathy Burke

Todd,

I'm an idiot...I copied the code for cboAssy but forgot to change that
control ref...THANK YOU...

KathyBurke
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,733
Messages
2,569,440
Members
44,832
Latest member
GlennSmall

Latest Threads

Top