Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sfonseca45

Combo Dinamico

Recommended Posts

Bom DiaTenho o seguinte código adaptado:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><% Option Explicit %><!-- #include file = "adovbs.inc" --><% Const PAGE_SIZE = 10	'quantidade de itens na página.'Declarando as variaveisDim Conexao			' string para conexãoDim rsBusca			' string do recordsetDim rsDim rs1Dim strSQL			' string SQLDim strSearch		' string para fixar o texto procuradoDim iPageCurrent	' string para Pagina CorrenteDim iPageCount		' string para contar números de paginas do recorsetDim iRecordCount	' string do contadorDim I				' variável de indica a página atualDim aluno		' variável de indica a categoria escolhidaDim strURL			' variável que indicará o endereço do sitestrURL = Request.ServerVariables("URL")aluno = request("aluno") ' variável de retornoSub abre_conexao		' Criando uma conexão com o Banco de Dados	Set Conexao = Server.CreateObject("ADODB.Connection")	Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("../db/escolas.mdb") &";"End subIF aluno = "" Then aluno  = 0If Request.QueryString("page") = "" Then	' Abertua inicial	iPageCurrent = 1Else	iPageCurrent = CInt(Request.QueryString("page"))End If%><html><head><title>Pesquisa</title><!-- Javascript para onChange do ListMenu --><script LANGUAGE="JavaScript">function Menu() {		document.forms.myform.submit();		}</SCRIPT><head><title>Escolas</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><div id="content">                         <FORM NAME="myform" ACTION="<%=strURL%>" METHOD=POST>                                Nome do Aluno  :                             <select name="categoria" onChange="Menu();">                                <option value="0" selected>(Todos)</option>                                <%		Call abre_conexao		' Abrindo a conexão criada		Set rs = Server.CreateObject("ADODB.RecordSet")		' Selecionando as categorias através de uma instrução SQL		rs.Open "SELECT  * FROM alunos ORDER BY nome_aluno ASC", conexao		While not rs.eof		' Criando um Loop		IF Trim(aluno) = Trim(rs("id_aluno")) Then		%>                                <option value="<%=rs("id_aluno")%>" selected ><%=rs("nome_aluno")%></option>                                <% Else %>                                <option value="<%=rs("id_aluno")%>"><%=rs("nome_aluno")%></option>                                <%		End IF		rs.movenext			' próximo registro		Wend				 		rs.close			' fechando o recordset		set rs = Nothing	' destruindo o recordset		%>                            </select>                          ( Selecione o aluno )                           </Form>                <%	IF aluno = 0 Then	' verifica se alguma categoria foi escolhida		strSQL = "SELECT * FROM alunos " & " ORDER BY nome_aluno"	Else					' se foi determina uma condição		strSQL = "SELECT * FROM alunos WHERE id_aluno = "& Trim(aluno)	End IF	' criando um Recordset referente a categoria escolhida	Set rsBusca = Server.CreateObject("ADODB.Recordset")	rsBusca.PageSize  = PAGE_SIZE	rsBusca.CacheSize = PAGE_SIZE	' abre a conexão e executa o recordset	rsBusca.Open strSQL, Conexao, adOpenStatic, adLockReadOnly, adCmdText	iRecordCount = rsBusca.RecordCount	iPageCount   = rsBusca.PageCount	If iRecordCount = 0 Then	' se nenhum registro for encontrado%>                <%="Nenhum registro foi encontrado"%> </font></div></td>                <%	Else				' caso contrário monta a paginação	rsBusca.AbsolutePage = iPageCurrent		' determina qual página deve ser exibida%>                                        <%	'faz as contagens dos registros encontrados     	response.write iRecordCount & " registros encontrados.<br>"	'	response.write "Página " & iPageCurrent & " de " & iPageCount		%>                    <%	' novo loop, verificando a página a ser exibida	While Not rsBusca.EOF And rsBusca.AbsolutePage = iPageCurrent %>     <%	IF aluno = 0 Then		response.write rsBusca("nome_aluno") &"  "		response.write rsBusca("sobrenome_aluno") &"<BR>"	Else		response.write rsBusca("nome_aluno")&"<BR>"	End IF	%>    <% response.write rsBusca("sobrenome_aluno") %>     <br>     <% 	rsBusca.MoveNext		' próximo registro	Wend	%>    <%		' informa que página o usuário está da paginação		response.write "Páginas: "		For I = 1 To iPageCount			If I = iPageCurrent Then				response.write "[" & I & "]" 			Else				' criamos um link a categoria escolhida e a 				' página a ser mostrada				%>                    <a href="<%= strURL %>?aluno=<%=aluno%>&page=<%= I %>"><%= I %></a>                    <%			End If		Next	End If%>                      </div></body></html>

Adaptei este código para meu BD porem ao selecionar qualquer item no combo ele não o refresh e continua aparecendo todos os registros e o certo seria apenas aparecer o registro selcionado no combo.Alguem poderia me dizer onde estou errando.Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos láexiste um combo que me lista todos os alunos - este combo é preenchido pelo BD.Então o combo seria assim :(Todos) - lista todos os alunosAna MariaAna PaulaCarlos etc ...Então ao selecionar no combo :Todos - Lista todos os alunosAna Maria - lista Somente Ana Mariaporem ao selecionar qualquer aluno ele dá o refresh mas carrega todos os alunos. e não apenas o selecionado.Eu peguei este codigo e adaptei (categoria e subgateria) - funciona direitinho - mas tô passando por cima do erro ...Será que consegui explicar?Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Problema esta quase resolvido e incrementei mais uma coisinha

Vamos lá:

 

 

Coloquei um TextBox ... ao se digitar ele vai procurando no Combo ... e logo abaixo aparece o registro selecionado no combo ... só que tem um pequeno problema ... ao digitar no TextBox a alteração no combo é automática mas não no dados que aparecem abaixo é necessario teclar Enter ... teria algum modo de isso ser feito instantaneamente?

 

Segue o código :

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><% Option Explicit %><% Const PAGE_SIZE = 10 'quantidade de itens na página.'Declarando as variaveisDim Conexao ' string para conexãoDim rsBusca ' string do recordsetDim rsDim rs1Dim strSQL ' string SQLDim strSearch ' string para fixar o texto procuradoDim iPageCurrent ' string para Pagina CorrenteDim iPageCount ' string para contar números de paginas do recorsetDim iRecordCount ' string do contadorDim I ' variável de indica a página atualDim aluno ' variável de indica a categoria escolhidaDim strURL ' variável que indicará o endereço do sitestrURL = Request.ServerVariables("URL")aluno = request("aluno") ' variável de retornoSub abre_conexao ' Criando uma conexão com o Banco de DadosSet Conexao = Server.CreateObject("ADODB.Connection")Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("../db/escolas.mdb") &";"End subIF aluno = "" Then aluno = 0If Request.QueryString("page") = "" Then ' Abertua inicialiPageCurrent = 1ElseiPageCurrent = CInt(Request.QueryString("page"))End If%><html><head><title>Pesquisa</title><script LANGUAGE="JavaScript">function trocaOpcao(valor, objSel) {for (i=0; i < objSel.length; i++){qtd = valor.length;if (objSel.options[i].text.substring(0, qtd).toUpperCase() == valor.toUpperCase()) {objSel.selectedIndex = i;break;}}}function Menu() {document.forms.myform.submit(); }</SCRIPT><script language="javascript"></script><head><title>Escolas</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><div id="content"> <FORM NAME="myform" ACTION="<%=strURL%>" METHOD=POST><input type="text" name="texto" onkeyup="trocaOpcao(this.value, document.myform.aluno);"><select name="aluno" onChange="Menu();"><option value="0" selected>(Todos)</option><%Call abre_conexao ' Abrindo a conexão criadaSet rs = Server.CreateObject("ADODB.RecordSet")' Selecionando as categorias através de uma instrução SQLrs.Open "SELECT * FROM alunos ORDER BY nome_aluno ASC", conexaoWhile not rs.eof ' Criando um LoopIF Trim(aluno) = Trim(rs("id_aluno")) Then%><option value="<%=rs("id_aluno")%>" selected ><%=rs("nome_aluno")%></option><% Else %><option value="<%=rs("id_aluno")%>"><%=rs("nome_aluno")%></option><%End IFrs.movenext ' próximo registroWend rs.close ' fechando o recordsetset rs = Nothing ' destruindo o recordset%></select></Form><%IF aluno = 0 Then ' verifica se alguma categoria foi escolhidastrSQL = "SELECT * FROM alunos " & " ORDER BY nome_aluno"Else ' se foi determina uma condiçãostrSQL = "SELECT * FROM alunos WHERE id_aluno = "& Trim(aluno)End IF' criando um Recordset referente a categoria escolhidaSet rsBusca = Server.CreateObject("ADODB.Recordset")rsBusca.PageSize = PAGE_SIZErsBusca.CacheSize = PAGE_SIZE' abre a conexão e executa o recordsetrsBusca.Open strSQL, Conexao, adOpenStatic, adLockReadOnly, adCmdTextiRecordCount = rsBusca.RecordCountiPageCount = rsBusca.PageCountIf iRecordCount = 0 Then ' se nenhum registro for encontrado%><%="Nenhum registro foi encontrado"%> </font></div></td><%Else ' caso contrário monta a paginaçãorsBusca.AbsolutePage = iPageCurrent ' determina qual página deve ser exibida%><% 'faz as contagens dos registros encontradosresponse.write iRecordCount & " registros encontrados.<br>"' response.write "Página " & iPageCurrent & " de " & iPageCount%><% ' novo loop, verificando a página a ser exibidaWhile Not rsBusca.EOF And rsBusca.AbsolutePage = iPageCurrent %><%IF aluno = 0 Thenresponse.write rsBusca("nome_aluno") &" "response.write rsBusca("sobrenome_aluno") &"<BR>"Elseresponse.write rsBusca("nome_aluno")&"<BR>"End IF%><% response.write rsBusca("sobrenome_aluno") %><br><% rsBusca.MoveNext ' próximo registroWend%><% ' informa que página o usuário está da paginaçãoresponse.write "Páginas: "For I = 1 To iPageCountIf I = iPageCurrent Thenresponse.write "[" & I & "]" Else' criamos um link a categoria escolhida e a ' página a ser mostrada%><a href="<%= strURL %>?aluno=<%=aluno%>&page=<%= I %>"><%= I %></a><%End IfNextEnd If%></div></body></html>

Obrigado a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pensei em usar AJAX mas no fundo nem sei por onde começar ...Mas o codigo esta funcionando beleza ... Vou pesquisar mais e achar uma solução parao Textbox ... se tiver alguma idéia ... agradeço ...Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tenho um codigozinho parecido com o que você precisa.... mas esta na empresa.... amanha quando eu chegar se eu lembrar eu posto aki... ele carrega outro combobox de acordo com o que foi selecionado no primeiro... seria isso que você quer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

RaphanascO código original era assim :No combobox quando você selecionava algum item ele automaticamente carregava os dados daquele item.Exemplo:Seleciono o aluno João da Silva no comboboxAutomaticamente me trazia o filiação e endereçoSe mudava no combobox para Pedro CostaAutomaticamente mudava a filiação e endereçoMas vamos imaginar 200 alunos o ficaria horrivel procurar no combobox - apaesar de estar em ordem alfabeticaAi implementei um textbox voce vai digitando o nome do aluno e ele vai posicionado no o combobox conforme o que voce digitou.Está funcionando com um porém:ele não atualiza os dados "filiação e endereço" automaticamente é necessário teclar "enter" para atualizar.O que eu preciso é atualizar os dados conforme for mudando o combobox.Será que tem como ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.