Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

Tesla

ASP - List Boxes

Mensagens Recomendadas

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tesla    0
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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
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 ;)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tiago Salgado    2
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 ;)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Tesla    0
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.  :rant_01:

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


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade