mestre fyoda Postado Maio 12, 2007 Denunciar Share Postado Maio 12, 2007 eu tenho varias checkbox com nomes diferentes, e para tormar mais pratico gostaria de saber se tem como eu fazer com que todas as checkbox selecionadas sejam inseridos no banco de dados. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 12, 2007 Denunciar Share Postado Maio 12, 2007 que linguagem você usa??to meio enferrujado, mas o esquema acho que é você fazer um for each de todos os controle no formulario. tipo (esqueci a sintaxe mas deve ser isso):Control x;foreach (x in this.Controls){ if (x.GetType().ToString() == "CheckBox (Poe o nome intero aqui!!!)") { -- AQUI você TESTA SE está CHECADO }}[/code] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 13, 2007 Denunciar Share Postado Maio 13, 2007 O mesmo código do kuroi em VB.NET seria:for each x as Control in Me.Controls if typeof x is CheckBox then 'aqui testa se está marcado endif next xAbraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 20, 2007 Autor Denunciar Share Postado Maio 20, 2007 No module Public Sub acesso(ByVal bloquear As String, ByVal Form As Form) Dim ch As New CheckBox For Each x As Control In Form.Controls If TypeOf x Is CheckBox Then MessageBox.Show("2") If ch.Checked = True Then MessageBox.Show("Teste checkbox selecionada") End If End If Next x End Sub chamando no Form acesso("incluir_itens,deletar_itens", Me)não esta entrando no if do type , mandei imprimir depois do foreach x.text aparece em branco , porque ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 21, 2007 Denunciar Share Postado Maio 21, 2007 A CheckBox está realmente no form? Ou dentro de um painel no form?Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 21, 2007 Autor Denunciar Share Postado Maio 21, 2007 esta dentro de um tabcontrol! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 21, 2007 Denunciar Share Postado Maio 21, 2007 esta dentro de um tabcontrol!Então, você tem que percorrer os controles da tabcontrol e não do form.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 21, 2007 Autor Denunciar Share Postado Maio 21, 2007 No module Public Sub acesso(ByVal bloquear As String, ByVal Form As Form) Dim ch As New CheckBox For Each x As Control In Form.Controls If TypeOf x Is CheckBox Then MessageBox.Show("2") If ch.Checked = True Then MessageBox.Show("Teste checkbox selecionada") End If End If Next x End Sub chamando no Form acesso("incluir_itens,deletar_itens", Me)aonde eu chamo a função, esta no evento onclick no botão que está dentro do tabcontrol !.Mas de qualquer forma alterei o "ME" para o nome do TABCONTROL (Funcionario ) e tambem tentei com o nome do TABPAGE ( Configuração) e não mudou nada ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 22, 2007 Denunciar Share Postado Maio 22, 2007 Faça a rotina ser recursiva:Public Sub acesso(ByVal bloquear As String, ByVal Obj As Object) For Each x As Control In Obj.Controls Select Case x.GetType().Name Case "TabControl", "TabPage" acesso(bloquear, x) Case "CheckBox" Dim chk As CheckBox = x MessageBox.Show(chk.Name & " = " & chk.Checked.ToString()) End Select Next x End Sub Daí você poderá fazer (no form): acesso("incluir_itens,deletar_itens", Me)Certo? ;)Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 22, 2007 Autor Denunciar Share Postado Maio 22, 2007 o que o GetType() faz ?Case "TabControl", "TabPage" acesso(bloquear, x)o que esse codigo acima ele vai fazer ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 22, 2007 Denunciar Share Postado Maio 22, 2007 o que o GetType() faz ?GetType() retorna um objeto que representa o tipo do objeto (Type).Case "TabControl", "TabPage" acesso(bloquear, x)o que esse codigo acima ele vai fazer ?Caso o tipo seja "TabControl" ou "TabPage", a própria função será chamada passando agora o referido objeto. Isso é uma função recursiva, ou seja, ela chama a si própria.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 22, 2007 Autor Denunciar Share Postado Maio 22, 2007 desculpa como sempre ficar enchendo o saco :) , quando usar o Object ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 22, 2007 Denunciar Share Postado Maio 22, 2007 desculpa como sempre ficar enchendo o saco :)Hehehe... não precisa se desculpar! E não, você não está enchendo o saco. Dúvidas devem ser respondidas. Aliás, esta sua dúvida é muito pertinente.quando usar o Object ?No caso, Object é o tipo "pai-de-todos". Ou seja, todos os demais tipos (referência) derivam de Object. Por isso, e pela regra de polimorfismo, um objeto do tipo filho pode ser referenciado por um objeto do tipo pai. No caso em questão, Obj poderá ser um Form, um TabControl ou uma TabPage. Então, você não pode definir o tipo como Form, se não vai dar erro quando você tentar passar um TabControl ou uma TabPage. E o mesmo vale para estes dois. Agora, se você declara como um tipo que pode referenciar qualquer um deles, que foi o caso, será válido passar um Form, um TabControl ou uma TabPage. Ah, e no caso em questão, no lugar de Object poderia ser Control. Isso porque todos os três na verdade são herança direta de Control.Capisce? ;)Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 22, 2007 Autor Denunciar Share Postado Maio 22, 2007 eu capisco :)vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 23, 2007 Autor Denunciar Share Postado Maio 23, 2007 veja essa telahttp://img406.imageshack.us/my.php?image=imagemvs1.jpgcomo eu faço para imprimir por coluna ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 24, 2007 Denunciar Share Postado Maio 24, 2007 Como assim "imprimir por coluna"?Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Maio 24, 2007 Autor Denunciar Share Postado Maio 24, 2007 o link com a imagem que esta em um dos topicos anterios , como mostra , esta selecionado alguns checkbox mas na hora de mostar os selecionados mostra na forma desornedada.Por exemplo eu queria que mostrace todos os checkboxs selecionados na coluna Itens , depois da proxima coluna e assim por diante , teria como ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 25, 2007 Denunciar Share Postado Maio 25, 2007 o link com a imagem que esta em um dos topicos anterios , como mostra , esta selecionado alguns checkbox mas na hora de mostar os selecionados mostra na forma desornedada.Por exemplo eu queria que mostrace todos os checkboxs selecionados na coluna Itens , depois da proxima coluna e assim por diante , teria como ?Realmente, a coleção Controls não retorna os controles em ordem. Também tive esse problema recentemente. A solução, no caso, foi usar o método GetNextControl() do form para obter os controles na ordem de tabulação (TabIndex).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mestre fyoda
eu tenho varias checkbox com nomes diferentes, e para tormar mais pratico gostaria de saber se tem como eu fazer com que
todas as checkbox selecionadas sejam inseridos no banco de dados.
Link para o comentário
Compartilhar em outros sites
17 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.