Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
Tesla

ASP - List Boxes

Recommended Posts

Tesla

Boas malta.

Estou a precisar de saber como é que faço para que uma 2ª list box se actualize conforme o valor escolhido na primeira.

Estou a trabalhar em ASP e SQL Server.

Obrigado!  :P :)


Assinatura editada pelo staff, por favor consulte as regras.

Share this post


Link to post
Share on other sites
Tiago Salgado

No evento SelectedIndex tens que fazer um Bind à outra listbox... ou seja, se tiveres uma função que te carrega os valores consoante a escolha da primeira listbox, só tens q a executar qd mudares de item seleccionado.

Share this post


Link to post
Share on other sites
Tesla

No evento SelectedIndex tens que fazer um Bind à outra listbox... ou seja, se tiveres uma função que te carrega os valores consoante a escolha da primeira listbox, só tens q a executar qd mudares de item seleccionado.

Boas Tiago.

Antes de mais obrigado pela resposta.

Sabes onde posso ir buscar código que sirva de exemplo para aquilo que pretendo fazer?

Obrigado.


Assinatura editada pelo staff, por favor consulte as regras.

Share this post


Link to post
Share on other sites
Tiago Salgado

Função para ires buscar os dados à BD

Public Function CarregarRegistos(ByVal strQuery As String, ByVal cmdType As CommandType, ByVal conn As SqlConnection, ByVal ParamArray parameters() As SqlParameter) As DataSet
        Dim cmd As SqlCommand = New SqlCommand(strQuery, conn)
        cmd.CommandType = cmdType
        'verifica se existem parametros e adiciona-os caso existam
        If Not (parameters Is Nothing) Then
            Dim param As SqlParameter
            For Each param In parameters
                cmd.Parameters.Add(param)
            Next param
        End If

        Try
            conn.Open()
            Dim da As SqlDataAdapter = New SqlDataAdapter(cmd)
            Dim ds As DataSet = New DataSet
            da.Fill(ds, "TABELA")
            Return ds
        Catch ex As Exception
            Return Nothing
        Finally
            conn.Close()
            conn.Dispose()
        End Try

    End Function

Metes depois o código seguinte para carregares a primeira listbox

listbox1.DataSource = CarregarRegistos("SELECT id,descricao FROM tabela", CommandType.Text, New SqlConnection("connectionstring")))
listbox1.DataTextField = "descricao"
listbox1.DataValueField = "id"
listbox1.DataBind()
listbox1.Items.Insert(0, "")

Agora, para filtrares os dados consoante a escolha na primeira listbox podes fazer algo do tipo:

Tens q meter o código no evento SelectedIndexChanged da listbox1

listbox2.DataSource = CarregarRegistos("SELECT id,descricao FROM tabela1 where id_tabela1="+listbox1.SelectedValue, CommandType.Text, New SqlConnection("connectionstring")))
listbox2.DataTextField = "descricao"
listbox2.DataValueField = "id"
listbox2.DataBind()
listbox2.Items.Insert(0, "")

Já da pra teres uma ideia ;)

Share this post


Link to post
Share on other sites
Tesla

😲

Isso corre numa página *.asp ?

Tanto código... :embarassed:


Assinatura editada pelo staff, por favor consulte as regras.

Share this post


Link to post
Share on other sites
Tiago Salgado

Eu uso este tipo de codigo em aplicações web q tenho desenvolvido...

Tu tas a usar ASP.NET ? ou é a versão classica ? É que o que tenho é em ASP.NET ;)

Share this post


Link to post
Share on other sites
Tesla

Estou a usar a versão clássica. 😳

Lembrei-me de tentar outra abordagem, puxar tudo da BD e depois "escrever" a página usando javascript. Tudo muito bonito, mas só me dá erros quando o a case statement leva mais que uma instrução.

Começo a entrar em desespero.  😡


Assinatura editada pelo staff, por favor consulte as regras.

Share this post


Link to post
Share on other sites
Tesla

Problema resolvido.

Obrigado Tiago. ;)


Assinatura editada pelo staff, por favor consulte as regras.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.