cintiadel 0 Denunciar post Postado Janeiro 16, 2009 tenho essa rotina no load da minha página, no banco o campo cod_servico é do tipo int, que tem valores 1 e 2, se for 1 preciso que apareça ckb_n selecionado, se for 2 o ckb_b seja selecionado, e se no banco tiver os dois registros os dois venham selecionados, ou se tiver nenhum q os dois fiquem sem o checked. espero ter conseguido explicar, desde já agradeço Dim conexao As New Data.SqlClient.SqlConnection("string de conexao") Dim comando As New Data.SqlClient.SqlCommand Dim lista_email As Data.SqlClient.SqlDataReader conexao.Open() comando.Connection = conexao comando.CommandText = "Select al_codigo, cod_servico, email from tabela1 inner join tabela2 ON tabela2.codigo = tabela1.al_codigo where tabela2.codigo='" & Session("num") & "'" lista_email = comando.ExecuteReader() While lista_email.Read() 'Converte o valor para booleano If lista_email("cod_servico") = "1" Then ckb_n.Checked = CBool(lista_email("cod_servico")) Else ckb_n.Checked = False End If If lista_email("cod_servico") = "2" Then ckb_b.Checked = CBool(lista_email("cod_servico")) Else ckb_b.Checked = False End If End While conexao.Close() Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 16, 2009 If lista_email("cod_servico") = "1" Then ckb_n.Checked = True Else ckb_n.Checked = False End If If lista_email("cod_servico") = "2" Then ckb_b.Checked = True Else ckb_b.Checked = False End If Eu acho que do jeito que coloquei a cima ja resolve. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 16, 2009 não funcionou ele continua trazendo so o primeiro registro(checkbox) selecionado, parece q tem algo errado do while pq ele so passa uma vez e o certo seria duas vezes, eu acho, rodando o comando sql no banco de dados ele mostra duas linhas , uma com o cod_servico = 1 e outra com cod_servico=2 al_codigo cod_servico email 20080001 1 teste@teste.com.br 20080001 2 teste@teste.com.br <table> <tr> <td colspan="2"> <span class="style6">Cadastre seu e-mail :</span></td> </tr> <tr> <td class="style7"> E-mail:</td> <td style="text-align: left"> <asp:TextBox ID="txt_email" runat="server" Width="300px"/> </td> </tr> <tr> <td colspan="2"> <span class="style6">Selecione quais informações você deseja receber em seu e-mail: </span></td> </tr> <tr> <td style="text-align: left" colspan="2" class="style8"> <asp:CheckBox ID="ckb_notas_faltas" runat="server" Font-Names="Arial Unicode MS" Font-Size="Small" Text="Servico 2"/> </td> </tr> <tr> <td style="text-align: left" colspan="2" class="style8"> <asp:CheckBox ID="ckb_boletos" runat="server" Font-Names="Arial Unicode MS" Font-Size="Small" Text="Serviço 2" /> </td> </tr> <tr> <td style="text-align: left" colspan="2"> <asp:ImageButton ID="btn_enviar" runat="server" ImageUrl="~/img/enviar.png" /> </td> </tr> </table> Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 16, 2009 Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Web Applications O while esta correto, se não passou duas vezes é problema no select. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 19, 2009 Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Web Applications O while esta correto, se não passou duas vezes é problema no select. Abraços... mas eu rodei o select no banco e esta corretoeu debuguei o codigo, e ele passou duas vezes mas mesmo assim ele n traz os dois selecionados, apenas ou um ou outro Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 19, 2009 No outro post você disse que passou somente uma vez pelo while. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 19, 2009 No outro post você disse que passou somente uma vez pelo while. Abraços... desculpe esta passando duas vezes sim, mas ele acaba marcando somente o resultado da segunda vez q passa pelo while, esta perdendo o valor de primeira passagem do while. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 19, 2009 Agora que eu reparei não tem como os dois ficarem checados da forma que esta fazendo. Tente o seguinte: If lista_email("cod_servico") = "1" Then ckb_n.Checked = True End If If lista_email("cod_servico") = "2" Then ckb_b.Checked = True End If Por que o que acontece é o seguinte, o primeiro registro tem o cod_servico = 1 e o segundo registro tem o cod_servico = 2. Quando ele passava a primeira vez ele marca o primeiro checkbox e o segundo não, quando ele passava no segundo registro ele limpava o primeiro e marcava o segundo. Acho que da forma que esta agora funciona. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 19, 2009 Agora que eu reparei não tem como os dois ficarem checados da forma que esta fazendo. Tente o seguinte: If lista_email("cod_servico") = "1" Then ckb_n.Checked = True End If If lista_email("cod_servico") = "2" Then ckb_b.Checked = True End If Por que o que acontece é o seguinte, o primeiro registro tem o cod_servico = 1 e o segundo registro tem o cod_servico = 2. Quando ele passava a primeira vez ele marca o primeiro checkbox e o segundo não, quando ele passava no segundo registro ele limpava o primeiro e marcava o segundo. Acho que da forma que esta agora funciona. Abraços... se eu fizer dessa forma ele tbm so checa o primeiro Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 20, 2009 O problema que a lógica que esta usando esta errada. Você deveria ter dois campos na sua tabela, um para cada checkbox. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 21, 2009 O problema que a lógica que esta usando esta errada. Você deveria ter dois campos na sua tabela, um para cada checkbox. Abraços... acabei fazendo com dois selects separados usando o codigo como clausula where Compartilhar este post Link para o post Compartilhar em outros sites