Autor: Fabrizio Gianfratti

Função Geradora de ListBox

Vamos conhecer uma ótima função que monta um list box com os valores e titulos que você desejar. Economiza muita linha de código, além de deixar seu sistema mais estruturado.

<%
'###############CONFIGURAÇÕES##########

'Array dos valores - Sete aqui os valores que cada titulo terá
ArrayValores = Array(0,1,2,3)
'Titulos para selecionar, tem que ser na mesma ordem do ArrayValores, para que cada titulo tenha o seu valor certo
ArrayTitulos = Array("Sim","Não","Talvez","Legal")
'Nome que o campo vai ter. Ex: Teste
NomeCampo = "Teste"
'Caso queira que algum Titulo Ja venha selecionado entao coloque algum valor que vc atribuiu no ArrayValores
ValorSelecionado = "0"
'Caso queira algum evento entao coloque todo o codigo. Ex: onChange='document.form.submit()
Evento = "onChange='document.form.submit()'"
'Se quiser colocar algum Estilo
Css entao coloque o nome do Estilo. Ex: campos
NomeEstiloCss = "campos"
Call GeralistBoxOpcoesManual( ArrayValores, ArrayTitulos, NomeCampo, ValorSelecionado, Evento,NomeEstiloCss)

'##########FIM CONFIGURAÇÕES##########

Function GeraListBoxOpcoesManual(ArrayValores, ArrayTitulos, NomeCampo, ValorSelecionado, Evento, NomeEstiloCss)

'Faz a verificação para saber se a quantidade de Titulos passados a função é igual a quantidade de Valores passados
If Ubound(ArrayTitulos) <> Ubound(ArrayValores) Then
Response.write "O Numero de Titulos não é igual ao numero de Valores passados a função" & "<br>"
Response.write "Quantidade de Titulos passados: "&Ubound(ArrayTitulos) & "<br>"
Response.write "Quantidade de Valores passados: "&Ubound(ArrayValores) & "<br>"
Response.end
End if

Content = ""
Content = Content & "<select name='"&Trim(NomeCampo)&"' id='select' class='"&Trim(NomeEstiloCss)&"' "&Trim(Evento)&" > " & Chr(10)
For Y = Lbound(ArrayValores) To Ubound(ArrayTitulos)
Selected = ""
If Cstr(ValorSelecionado) = Cstr(ArrayValores(y)) Then
Selected = "selected"
End if
Content = Content & "<option value='"&ArrayValores(y)&"' "&Selected&" >"&ArrayTitulos(y)&"</option>" & Chr(10)
Next
Content = Content & "</select>"
GeraListBoxOpcoesManual = content
response.write GeraListBoxOpcoesManual

End Function
%>

Bem pessoal, chego ao final dessa matéria. Duvidas e sugestões no meu e-mail. Abraços!