Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP General > Menu List

Reply
Thread Tools

Menu List

 
 
Lina Manjarres
Guest
Posts: n/a
 
      07-20-2005
Hello,

I have a form page in ASP where the first menu/list function as a filter of
the second menu list. Once I select an item form the first combo I get the
second menu full of options. This is correct. My probem is that the first
combo gets the default value again and I do not see what I did choose.

I do not know if I explained this correctly. Hope someone can understand me.

Thanks a lot, Lina
 
Reply With Quote
 
 
 
 
Ray Costanzo [MVP]
Guest
Posts: n/a
 
      07-20-2005
Show the code you're using to populate the first drop down and the code
you're using to retrieve that value.

Ray at work

"Lina Manjarres" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hello,
>
> I have a form page in ASP where the first menu/list function as a filter

of
> the second menu list. Once I select an item form the first combo I get the
> second menu full of options. This is correct. My probem is that the first
> combo gets the default value again and I do not see what I did choose.
>
> I do not know if I explained this correctly. Hope someone can understand

me.
>
> Thanks a lot, Lina



 
Reply With Quote
 
 
 
 
Lina Manjarres
Guest
Posts: n/a
 
      07-20-2005
This is the function code tu fill the combos, wher vector is a variable Pais
filled with a recorset.

Function ComboRS(vector)
'Pinto el combo
for i= 0 to UBound(vector, 2)
Response.Write "<option value='"& vector(0,i) &" - "& vector(1,i)&"'>"&
vector(0,i) &" - "& vector(1,i) & vbCrLf
next
End Function


%>


Here is the call to the recordset and the way I fill the variable Pais:

strPais = "select IdPais, NmPais from Paises order by NmPais"
Call OpenRS(rsPais,strPais,ConnAxs)
Pais = rsPais.GetRows
Call CloseRS(rsPais)

If request.form("CboPais") = "" Then
CadenaPais = "57"
Else
Izquierda = instr(1,request.form("CboPais"),"-")
CadenaPAis = Trim(Left(request.form("CboPais"),Izquierda - 1))
End If

Here is how I work out the first combo:

'<select name="cboPais" size="1" tabindex="10" onChange="submit();">
'<option selected>-- Seleccione un PaÃ*s --
'<%Call ComboRS(Pais)%>

This is the code for the recorset of the other combo:

strCentral = "select IdProyecto, NmProyecto from Proyectos Where IdPais
='"& CadenaPais &"' AND Tecnologia = '"& TipoPlanta &"' order by NmProyecto"
Call OpenRS(rsCentral,strCentral,ConnAxs)
Central = rsCentral.GetRows
Call CloseRS(rsCentral)

I do not get any error message. My problem is tha once I select the first
combo it did filter the second one, but I can't see the data I just selected.
Let's say I select Colombia, and I see it at this pont. But very soon
Colombia is not there, anymore.

Thanks a lot!!!


"Ray Costanzo [MVP]" wrote:

> Show the code you're using to populate the first drop down and the code
> you're using to retrieve that value.
>
> Ray at work
>
> "Lina Manjarres" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
> > Hello,
> >
> > I have a form page in ASP where the first menu/list function as a filter

> of
> > the second menu list. Once I select an item form the first combo I get the
> > second menu full of options. This is correct. My probem is that the first
> > combo gets the default value again and I do not see what I did choose.
> >
> > I do not know if I explained this correctly. Hope someone can understand

> me.
> >
> > Thanks a lot, Lina

>
>
>

 
Reply With Quote
 
Ray Costanzo [MVP]
Guest
Posts: n/a
 
      07-20-2005
Try this:

sSelectedCategory = Request.Form("cboPais")

Then get rid of the "selected" text in that dropdown box. (<option
selected>-- Seleccione un País --)

Then, add a second argument to your ComboRS function and use it as such:

Function ComboRS(vector,SelectedValue)
'Pinto el combo
for i= 0 to UBound(vector, 2)
Response.Write "<option value='" & vector(0,i) & " - " &
vector(1,i)& "'"
If vector(0,i) = SelectedValue Then REsponse.Write " selected"
Response.Write ">" & vector(0,i) & " - " & vector(1,i) & vbCrLf
next
End Function


Ray at work

"Lina Manjarres" <(E-Mail Removed)> wrote in message
news(E-Mail Removed)...
> This is the function code tu fill the combos, wher vector is a variable

Pais
> filled with a recorset.
>
> Function ComboRS(vector)
> 'Pinto el combo
> for i= 0 to UBound(vector, 2)
> Response.Write "<option value='"& vector(0,i) &" - "& vector(1,i)&"'>"&
> vector(0,i) &" - "& vector(1,i) & vbCrLf
> next
> End Function
>
>
> %>
>
>
> Here is the call to the recordset and the way I fill the variable Pais:
>
> strPais = "select IdPais, NmPais from Paises order by NmPais"
> Call OpenRS(rsPais,strPais,ConnAxs)
> Pais = rsPais.GetRows
> Call CloseRS(rsPais)
>
> If request.form("CboPais") = "" Then
> CadenaPais = "57"
> Else
> Izquierda = instr(1,request.form("CboPais"),"-")
> CadenaPAis = Trim(Left(request.form("CboPais"),Izquierda - 1))
> End If
>
> Here is how I work out the first combo:
>
> '<select name="cboPais" size="1" tabindex="10" onChange="submit();">
> '<option selected>-- Seleccione un País --
> '<%Call ComboRS(Pais)%>
>
> This is the code for the recorset of the other combo:
>
> strCentral = "select IdProyecto, NmProyecto from Proyectos Where IdPais
> ='"& CadenaPais &"' AND Tecnologia = '"& TipoPlanta &"' order by

NmProyecto"
> Call OpenRS(rsCentral,strCentral,ConnAxs)
> Central = rsCentral.GetRows
> Call CloseRS(rsCentral)
>
> I do not get any error message. My problem is tha once I select the first
> combo it did filter the second one, but I can't see the data I just

selected.
> Let's say I select Colombia, and I see it at this pont. But very soon
> Colombia is not there, anymore.
>
> Thanks a lot!!!
>
>
> "Ray Costanzo [MVP]" wrote:
>
> > Show the code you're using to populate the first drop down and the code
> > you're using to retrieve that value.
> >
> > Ray at work
> >
> > "Lina Manjarres" <(E-Mail Removed)> wrote in

message
> > news:(E-Mail Removed)...
> > > Hello,
> > >
> > > I have a form page in ASP where the first menu/list function as a

filter
> > of
> > > the second menu list. Once I select an item form the first combo I get

the
> > > second menu full of options. This is correct. My probem is that the

first
> > > combo gets the default value again and I do not see what I did choose.
> > >
> > > I do not know if I explained this correctly. Hope someone can

understand
> > me.
> > >
> > > Thanks a lot, Lina

> >
> >
> >



 
Reply With Quote
 
Lina Manjarres
Guest
Posts: n/a
 
      07-20-2005
Thank you Ray

I follow your instruccions, but I allways get the first combo to display the
first item in the table instead the one I selected.

Do you think I am doing something wrong?

You can see what I am saying by going to this link:
http://manager-soft.com/clientes/mic...tml/inicio.htm
and then try the menu "Plantas de Generación" and then "LÃ*neas"

Thanks a lot!

"Ray Costanzo [MVP]" wrote:

> Try this:
>
> sSelectedCategory = Request.Form("cboPais")
>
> Then get rid of the "selected" text in that dropdown box. (<option
> selected>-- Seleccione un PaÃ*s --)
>
> Then, add a second argument to your ComboRS function and use it as such:
>
> Function ComboRS(vector,SelectedValue)
> 'Pinto el combo
> for i= 0 to UBound(vector, 2)
> Response.Write "<option value='" & vector(0,i) & " - " &
> vector(1,i)& "'"
> If vector(0,i) = SelectedValue Then REsponse.Write " selected"
> Response.Write ">" & vector(0,i) & " - " & vector(1,i) & vbCrLf
> next
> End Function
>
>
> Ray at work
>
> "Lina Manjarres" <(E-Mail Removed)> wrote in message
> news(E-Mail Removed)...
> > This is the function code tu fill the combos, wher vector is a variable

> Pais
> > filled with a recorset.
> >
> > Function ComboRS(vector)
> > 'Pinto el combo
> > for i= 0 to UBound(vector, 2)
> > Response.Write "<option value='"& vector(0,i) &" - "& vector(1,i)&"'>"&
> > vector(0,i) &" - "& vector(1,i) & vbCrLf
> > next
> > End Function
> >
> >
> > %>
> >
> >
> > Here is the call to the recordset and the way I fill the variable Pais:
> >
> > strPais = "select IdPais, NmPais from Paises order by NmPais"
> > Call OpenRS(rsPais,strPais,ConnAxs)
> > Pais = rsPais.GetRows
> > Call CloseRS(rsPais)
> >
> > If request.form("CboPais") = "" Then
> > CadenaPais = "57"
> > Else
> > Izquierda = instr(1,request.form("CboPais"),"-")
> > CadenaPAis = Trim(Left(request.form("CboPais"),Izquierda - 1))
> > End If
> >
> > Here is how I work out the first combo:
> >
> > '<select name="cboPais" size="1" tabindex="10" onChange="submit();">
> > '<option selected>-- Seleccione un PaÃ*s --
> > '<%Call ComboRS(Pais)%>
> >
> > This is the code for the recorset of the other combo:
> >
> > strCentral = "select IdProyecto, NmProyecto from Proyectos Where IdPais
> > ='"& CadenaPais &"' AND Tecnologia = '"& TipoPlanta &"' order by

> NmProyecto"
> > Call OpenRS(rsCentral,strCentral,ConnAxs)
> > Central = rsCentral.GetRows
> > Call CloseRS(rsCentral)
> >
> > I do not get any error message. My problem is tha once I select the first
> > combo it did filter the second one, but I can't see the data I just

> selected.
> > Let's say I select Colombia, and I see it at this pont. But very soon
> > Colombia is not there, anymore.
> >
> > Thanks a lot!!!
> >
> >
> > "Ray Costanzo [MVP]" wrote:
> >
> > > Show the code you're using to populate the first drop down and the code
> > > you're using to retrieve that value.
> > >
> > > Ray at work
> > >
> > > "Lina Manjarres" <(E-Mail Removed)> wrote in

> message
> > > news:(E-Mail Removed)...
> > > > Hello,
> > > >
> > > > I have a form page in ASP where the first menu/list function as a

> filter
> > > of
> > > > the second menu list. Once I select an item form the first combo I get

> the
> > > > second menu full of options. This is correct. My probem is that the

> first
> > > > combo gets the default value again and I do not see what I did choose.
> > > >
> > > > I do not know if I explained this correctly. Hope someone can

> understand
> > > me.
> > > >
> > > > Thanks a lot, Lina
> > >
> > >
> > >

>
>
>

 
Reply With Quote
 
Ray Costanzo [MVP]
Guest
Posts: n/a
 
      07-21-2005
Well, the most important thing is to understand what the goal is. The goal
is to take have the server be aware of the value of the selected item when
it redraws the page after the user selects an item from the first dropdown.
Then, as it loops through those items and is writing out all the <option>
html again, what you want to do in your loop is put in a test to see if the
item that is currently being written is the one that the person selected.
If it is, then add " selected" to the HTML output. Here's a simple example:

<%
Dim i
i = Request.Querystring("dropdown")
%>
<html>
<body>
<form method="get">
<select name="dropdown" onchange="this.form.submit();">
<%
For j = 1 To 10
Response.Write "<option value=""" & j & """"
If CStr(j) = CStr(i) Then Response.Write " selected"
Response.Write ">" & j & "</option>" & vbCrLf
Next
%>
</form>
</body>
</html>

As far as your page, I don't see any dropdowns. I just see javascript
errors and EOF errors.

Ray at home




"Lina Manjarres" <(E-Mail Removed)> wrote in message
news(E-Mail Removed)...
> Thank you Ray
>
> I follow your instruccions, but I allways get the first combo to display
> the
> first item in the table instead the one I selected.
>
> Do you think I am doing something wrong?
>
> You can see what I am saying by going to this link:
> http://manager-soft.com/clientes/mic...tml/inicio.htm
> and then try the menu "Plantas de Generación" and then "Líneas"
>
> Thanks a lot!
>


 
Reply With Quote
 
Lina Manjarres
Guest
Posts: n/a
 
      07-21-2005
Yes, something like that is what i am looking for.
The link I gave you is working. Just make sure you select "Plantas de
Generación" and then "LÃ*neas"

So, Ray, what should I do? Should I change my forms from Post to GET?


"Ray Costanzo [MVP]" wrote:

> Well, the most important thing is to understand what the goal is. The goal
> is to take have the server be aware of the value of the selected item when
> it redraws the page after the user selects an item from the first dropdown.
> Then, as it loops through those items and is writing out all the <option>
> html again, what you want to do in your loop is put in a test to see if the
> item that is currently being written is the one that the person selected.
> If it is, then add " selected" to the HTML output. Here's a simple example:
>
> <%
> Dim i
> i = Request.Querystring("dropdown")
> %>
> <html>
> <body>
> <form method="get">
> <select name="dropdown" onchange="this.form.submit();">
> <%
> For j = 1 To 10
> Response.Write "<option value=""" & j & """"
> If CStr(j) = CStr(i) Then Response.Write " selected"
> Response.Write ">" & j & "</option>" & vbCrLf
> Next
> %>
> </form>
> </body>
> </html>
>
> As far as your page, I don't see any dropdowns. I just see javascript
> errors and EOF errors.
>
> Ray at home
>
>
>
>
> "Lina Manjarres" <(E-Mail Removed)> wrote in message
> news(E-Mail Removed)...
> > Thank you Ray
> >
> > I follow your instruccions, but I allways get the first combo to display
> > the
> > first item in the table instead the one I selected.
> >
> > Do you think I am doing something wrong?
> >
> > You can see what I am saying by going to this link:
> > http://manager-soft.com/clientes/mic...tml/inicio.htm
> > and then try the menu "Plantas de Generación" and then "LÃ*neas"
> >
> > Thanks a lot!
> >

>
>

 
Reply With Quote
 
Ray Costanzo [MVP]
Guest
Posts: n/a
 
      07-21-2005

"Lina Manjarres" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Yes, something like that is what i am looking for.


Have you tried applying the logic to your specific code?


> The link I gave you is working. Just make sure you select "Plantas de
> Generación" and then "Líneas"


CollapseMenu is not defined - Line 62
collapse is not defined - Line 86
collapse is not defined - Line 196
collapse is not defined - Line 53
collapse is not defined - Line 1

That's what I get in Firefox.



> So, Ray, what should I do? Should I change my forms from Post to GET?


Not necessarily. If there's reason to post, post. Then just use
Request.Form instead of Request.QueryString

Ray at work


 
Reply With Quote
 
Lina Manjarres
Guest
Posts: n/a
 
      07-22-2005
I have tried what you told me but I do not get anything better.
Maybe I do not do what I am supposed to do.

Try the link again and see if it works now.

Thanks a lot!

"Ray Costanzo [MVP]" wrote:

>
> "Lina Manjarres" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
> > Yes, something like that is what i am looking for.

>
> Have you tried applying the logic to your specific code?
>
>
> > The link I gave you is working. Just make sure you select "Plantas de
> > Generación" and then "LÃ*neas"

>
> CollapseMenu is not defined - Line 62
> collapse is not defined - Line 86
> collapse is not defined - Line 196
> collapse is not defined - Line 53
> collapse is not defined - Line 1
>
> That's what I get in Firefox.
>
>
>
> > So, Ray, what should I do? Should I change my forms from Post to GET?

>
> Not necessarily. If there's reason to post, post. Then just use
> Request.Form instead of Request.QueryString
>
> Ray at work
>
>
>

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Menu question (list menu) Karl-Inge Reknes ASP .Net Web Controls 0 12-22-2006 02:37 PM
only wanna show Sub Menu of root menu mike ASP .Net 2 11-30-2005 10:50 PM
Horizontal Menu and Sub menu in asp.net 2.0 itzikkl ASP .Net 0 03-27-2005 12:50 PM
Menu and sub-menu in asp.net as windows menus made with vb, delphi, etc..? Vilmar ASP .Net 0 05-27-2004 05:52 PM
Jump Menu (DropDown Menu) in ASP.net. Can someone help me out? Miguel Dias Moura ASP .Net 3 04-03-2004 08:17 AM



Advertisments