Ir para conteúdo

Arquivado

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

Luka Moura

[Resolvido] checkbox dinâmico

Recommended Posts

Olá!

 

Depois de tentar, tentar e tentar fazer dropdownlists dinâmicas e em AJAX, como no outro tópico e não conseguir até com a ajuda de vocês, resolvi passar para outra forma acho que mais fácil, mas mesmo assim estou com dúvida.

 

Fiz uma página com criação dinâmica de checkboxs, através do banco de dados, assim:

Sub Page_Load(ByVal obj As Object, ByVal e As EventArgs)		
		If (Not IsPostBack) Then
			Dim conexao As New OleDbConnection(ConfigurationSettings.AppSettings("strConn"))
		   
			conexao.Open()
			Dim dr2 As OleDbDataReader
			Dim qsel2 As String = "SELECT * from TESTE ORDER BY NTESTE"
			Dim nomt As String
			Dim idt As Integer
			Try
				Dim cmd2 As New OleDbCommand(qsel2, conexao)
				dr2 = cmd2.ExecuteReader()
				Try
					While dr2.Read()
						nomt = " " & dr2("NTESTE")
						idt = dr2("NUM_TESTE")
							Dim nomecheck As String = "chk" & idt
							Dim check1 As New CheckBox
							check1.ID = nomecheck
							check1.Checked = False
							check1.Text = nomt
							divesq.Controls.Add(check1)
							divesq.Controls.Add(GetLiteral("<br><br>"))
					End While
				Finally
					dr2.Close()
				End Try
			Finally
				conexao.Close()
			End Try		  
		End If
	End Sub

Até ai foi tudo criado numa boa...

 

Então fiz um botão para pegar os itens marcados.. só que não consigo pegar os valores..

Protected Sub btnalterar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
		Dim conexao As New OleDbConnection(ConfigurationSettings.AppSettings("strConn"))
		conexao.Open()
		Dim dr3 As OleDbDataReader
		Dim qsel3 As String = "SELECT * from TESTE ORDER BY NTESTE"
		Dim nomt As String
		Dim idt As Integer
		Try
			Dim cmd3 As New OleDbCommand(qsel3, conexao)
			dr3 = cmd3.ExecuteReader()
			Try
				While dr3.Read()
					nomt = " " & dr2("NTESTE")
					idt = dr2("NUM_TESTE")
					Dim nomecheck As String = "chk" & idpal
					lbl1.Text += nomecheck.Text
				End While
				lbl1.Visible = True
			Finally
				dr3.Close()
			End Try
		Finally
			conexao.Close()
		End Try
	End Sub

Vlw!! Bjs!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi!

 

Isso estava errado mesmo e eu já corrigi.

Acho que consegui resolver fazendo o seguinte:

- tirando o código do Page_Load de dentro do If (Not IsPostBack) Then

- E colocando esse código no botão:

Dim nomecheck As String = "chk" & idt
					Dim ch As CheckBox
					ch = frm_cad.FindControl(nomecheck)
					If ch.ID = nomecheck Then
						If ch.Checked = True Then
							lbl1.Text = lbl1.Text & nomt & "OKKKKK<br />"
						Else
							lbl1.Text = lbl1.Text & nomt & "N<br />"
						End If
					End If

Vou continuar o código, mas tou resolvendo!

 

Obrigada pela ajuda....

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.