Ajuda em ASP

Canochas

Membro
Olá malta. Atiraram-me para cima um trabalho em ASP (no qual nunca programei antes), que consiste no acesso remoto via web a uma base de dados em ACCESS, que já está feito.

O que eu tenho de fazer e tenho estado a partir a cabeça é uma página de pesquisa, mais ou menos nestes moldes: tenho uma tabela com os atributos que quero que apareça na pesquisa (por exemplo título do filme, realizador, ano do filme) e que me apareça numa combo box estes valores. Isto está feito.

O que me falta e estou a partir a cabeça é fazer uma 2ª Combo Box que, dependendo da escolha da 1ª, altere o SQL que está por detrás dela (o atributo ListRowSource, penso eu).

Alguém me consegue ajudar? Obrigado
 
não estou a perceber muito bem essa dica

mas se o codigo que tiveres pro detraz do asp.net for vb.net

crias uma frid view no asp.net, e vais ao teu code neste caso vd.net, ou seja
ao file_que_tem_agrig.asp.vb



Código:
    Inherits System.Web.UI.Page

sub grid_view_titulofilme()
    ' cria a variavel ligação que vai chamar a string do caminho da Bd
    ' cria a variavel strsql que vai chamar a a pesquiza sql
    Dim ligacao, strsql As String
    ' cria data adapter
    Dim sda As SqlDataAdapter
    ' cria dataset
    Dim ds As DataSet

    


        ' da o caminho da Bd
        ligacao = "data source=(local);initial catalog=Pedidos;" & _
                  "integrated security=SSPI;persist security info=True"

        ' faz a pesquiza desejada

        strsql = "SELECT [Nome Utilizador]," & _
        "Mail,Tipo_Utilizador  FROM Tab_Utilizadores "

        sda = New SqlDataAdapter(strsql, ligacao)
        ds = New DataSet()
        sda.Fill(ds)
        sda.Dispose()
        Me.GridView_UTILIZADORES.DataSource = ds

        DataBind()
    End Sub


nexte escerto

Código:
Me.GridView_Utilizadores.DataSource = ds

onde esta gridview_utilizadores pões o nome da tua grid

nota: a minha bd é em sql server mas , se a tua for feita noutro aplicativo

se não me angano so mudas a sintaxe deste code:

Código:
 ligacao = "data source=(local);initial catalog=Pedidos;" & _
                  "integrated security=SSPI;persist security info=True"



como tens uma combo , tens de criar ou uma função diferente com a mesma grid so mudas é code visto a baixo, fazendo um select diferente

OU CRIAS UMA FUNÇÃO DIFERENTE PARA CADA GRIDVIEW , COM O MESMO CODE, E SO MUDA O SELECT, E O NOME DA GRID



Código:
 strsql = "SELECT [Nome Utilizador]," & _
        "Mail,Tipo_Utilizador  FROM Tab_Utilizadores "

______________________________________

depois na combo no teu caso com tens (título do filme, realizador, ano do filme)

no eventO page init do asp para chameres os items da cbo_box

Código:
 Me.cbo_PESQUIZA.Items.Add("")

        cbo_PESQUIZA.Items.Add("tITULO FILME")
        cbo_PESQUIZA.Items.Add("REALIZADOR")
        cbo_PESQUIZA.Items.Add("ANO DE FILME")


NO EVENTO LOAD DO FORM PÕES
tdas as grids que tiveres com visible a false a false
a unica coisa que poes visivel é a combo de pesquiza

Código:
  Me.GridView_titulofilme.VISIBLE=false
  Me.GridView_realizador.VISIBLE=false

NO EVENTO SELECT INDEX da combo box fazes, isto de fizerers 3 grids uma com cada pesquiza

Código:
Protected Sub cbo_PESQUIZA_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbo_tipo.SelectedIndexChanged

        If Me.cbo_tipo.SelectedIndex = 1 Then 'index do titulofilme

            grid_view_titulofilme()
             Me.GridView_titulofilme.VISIBLE=true
            Me.GridView_realizador.VISIBLE=false
           Me.GridView_anofilme.VISIBLE=false
        End If

        If Me.cbo_tipo.SelectedIndex = 2 Then ' index do realizador
       grid_view_ realizador()
          Me.GridView_titulofilme.VISIBLE=false
            Me.GridView_realizador.VISIBLE=true
           Me.GridView_anofilme.VISIBLE=false
        End If

 
    End Sub

depois conforme o numero de items que tens assim crias

um novo

If Me.cbo_tipo.SelectedIndex=index (posção da string na cbo_box)
a cbobox começa sempre do 0 sendo essa a primeira

______________

no code asp.net da combo_box tens de por

Código:
OnSelectedIndexChanged="nome da função change que criaste para essa combo"
 AutoPostBack="True


espero que te ajude esta dica
 
Back
Topo