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

Tesla

ASP - List Boxes

8 mensagens neste tópico

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:)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

:eek:

Isso corre numa página *.asp ?

Tanto código... :embarassed:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.  :rant_01:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora