Usuário com melhor resposta
Soluçao Rapida de conteudo text box

Pergunta
-
Como Vai Galera !!!!!!!
Tenho um form de cadastro onde possui cerca de 40 txtbox,porem tenho uma condiçao a qual necessito implantar:
Todos os campos devem conter valores,neste caso pensei em duas condiçoes:
1 - ao mudar de uma txtbox para outro,se a anterior nao tiver valor preencher com o valor 0(zero);
2 - ao clicar no botao salvar,preencher as txtbox vazias com o valor 0(zero);
Peço a ajuda de voces para minha saida desta condiçao.
Pois a ate onde tenho conhecimento ,teria que fazer tratamento para cada txtbox,ou seja 40 tratamentos....
Alguem tem alguma outro forma de soluçao?????
Abraços....
............www.alpconsultoria.com.br........ Caso esta resposta tenha solucionado sua dúvida, favor clicar em “Marcar como Resposta” para que outros membros possam compartilhar lendo este thread..
Respostas
-
Faz tempo que eu não faço comparação de tipos em vb, não lembro muito bem como era. Acho que é assim:
For Each Controle As Control In Me.Controls If Controle.GetType() Is GetType(TextBox) Then Dim TxtBox As TextBox = DirectCast(Controle, TextBox) If String.IsNullOrEmpty(TxtBox.Text) Then TxtBox.Text = 0 End If End If Next
Herbert Lausmann
- Marcado como Resposta Giovani Cr quarta-feira, 26 de fevereiro de 2014 11:39
-
Adérito, dadas as sugestões já enviadas não sei se a minha vai lhe ser útil, mas fica ai também para você considerar.
Friend Sub ClearTextBoxes() Dim Txts() As System.Web.UI.WebControls.TextBox = {txt1, txt2, txt3, txt40} For Each Txt As System.Web.UI.WebControls.TextBox In Txts Txt.Text = "0" Next Txt End Sub
No Array bote os 40 TextBoxes. Se você for fazer isso mais de uma vez, faça o array como o retorno de uma função por exemplo. O benefício disso é que, ao invés de você apagar todo e qualquer TextBox na página (as vezes você tem 40 textboxes para apagar mas você tem outros TextBoxes na página que não são para apagar) você apaga apenas os que estão no array.
- Marcado como Resposta Giovani Cr quarta-feira, 26 de fevereiro de 2014 11:39
Todas as Respostas
-
Como Vai Galera !!!!!!!
Tenho um form de cadastro onde possui cerca de 40 txtbox,porem tenho uma condiçao a qual necessito implantar:
Todos os campos devem conter valores,neste caso pensei em duas condiçoes:
1 - ao mudar de uma txtbox para outro,se a anterior nao tiver valor preencher com o valor 0(zero);
2 - ao clicar no botao salvar,preencher as txtbox vazias com o valor 0(zero);
Peço a ajuda de voces para minha saida desta condiçao.
Pois a ate onde tenho conhecimento ,teria que fazer tratamento para cada txtbox,ou seja 40 tratamentos....
Alguem tem alguma outro forma de soluçao?????
Abraços....
............www.alpconsultoria.com.br........ Caso esta resposta tenha solucionado sua dúvida, favor clicar em “Marcar como Resposta” para que outros membros possam compartilhar lendo este thread..
Ola,
você pode fazer da seguinte maneira.
você pode fazer em js.
você pode varrer todos os objetos texbox em sua pagina.
veja o exemplo abaixo ele limpa todos os textbox, você pode ao inves de limpar colocar o valor 0.
http://codigofonte.uol.com.br/codigos/limpando-todos-os-controles-do-tipo-input-em-uma-pagina-com-aspnet-c
Filipe Costa
-
A segunda opção é mais simples, pois você pode fazer algo mais ou menos assim:
For Each Controle As Control In Me.Controls If Controle.GetType() = TypeOf(TextBox) Then 'Talvez no lugar do = tenha que ser um Is, não me lembro agora... Dim TxtBox As TextBox = DirectCast(Controle, TextBox) If String.IsNullOrEmpty(TxtBox.Text) Then TxtBox.Text = 0 End If End If Next
É só um esboço, não testei. Mas o conceito é simples: Você percorre todos os controles do formulário, se um controle for um TextBox verifica se ele está vazio, e se estiver, seta para 0.
Espero ter ajudado.
Herbert Lausmann
-
VAleu irmao..... Filipe Costa
Mas preciso desta soluçao para VB.net
............www.alpconsultoria.com.br........ Caso esta resposta tenha solucionado sua dúvida, favor clicar em “Marcar como Resposta” para que outros membros possam compartilhar lendo este thread..
- Editado Adérito quinta-feira, 20 de fevereiro de 2014 20:57
-
-
-
Herbert
estarei testando a sua sujestao logo retorno
............www.alpconsultoria.com.br........ Caso esta resposta tenha solucionado sua dúvida, favor clicar em “Marcar como Resposta” para que outros membros possam compartilhar lendo este thread..
-
Herbert
Efetuei o teste ,porem ocoreru um erro que codificaçao,infelizmente nao sei como tratar,(nao consegui carregar a imagem).
Vamos la
Na linha 2 no campo(TextBox),erro 'TextBox'is a type and cannot be used as an expression
If Controle.GetType() = TypeOf(TextBox) Is Then
Na mesma linha no campo (Then) , erro Keyword does not name a type.
Entao ....
............www.alpconsultoria.com.br........ Caso esta resposta tenha solucionado sua dúvida, favor clicar em “Marcar como Resposta” para que outros membros possam compartilhar lendo este thread..
-
Faz tempo que eu não faço comparação de tipos em vb, não lembro muito bem como era. Acho que é assim:
For Each Controle As Control In Me.Controls If Controle.GetType() Is GetType(TextBox) Then Dim TxtBox As TextBox = DirectCast(Controle, TextBox) If String.IsNullOrEmpty(TxtBox.Text) Then TxtBox.Text = 0 End If End If Next
Herbert Lausmann
- Marcado como Resposta Giovani Cr quarta-feira, 26 de fevereiro de 2014 11:39
-
Adérito, dadas as sugestões já enviadas não sei se a minha vai lhe ser útil, mas fica ai também para você considerar.
Friend Sub ClearTextBoxes() Dim Txts() As System.Web.UI.WebControls.TextBox = {txt1, txt2, txt3, txt40} For Each Txt As System.Web.UI.WebControls.TextBox In Txts Txt.Text = "0" Next Txt End Sub
No Array bote os 40 TextBoxes. Se você for fazer isso mais de uma vez, faça o array como o retorno de uma função por exemplo. O benefício disso é que, ao invés de você apagar todo e qualquer TextBox na página (as vezes você tem 40 textboxes para apagar mas você tem outros TextBoxes na página que não são para apagar) você apaga apenas os que estão no array.
- Marcado como Resposta Giovani Cr quarta-feira, 26 de fevereiro de 2014 11:39
-
Bom dia Adérito,
Alguma novidade?
Att,
Giovani Cruzara – Microsoft Contingent Staff
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.
Msdn Community Support
Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.