none
Soluçao Rapida de conteudo text box RRS feed

  • 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..

    quinta-feira, 20 de fevereiro de 2014 19:52

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
    quinta-feira, 20 de fevereiro de 2014 22:50
  • 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
    sexta-feira, 21 de fevereiro de 2014 11:32

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

    quinta-feira, 20 de fevereiro de 2014 20:18
  • 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

    quinta-feira, 20 de fevereiro de 2014 20:20
  • 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
    quinta-feira, 20 de fevereiro de 2014 20:40
  • A sugestão do Herbert é em VB, você checou se ela é válida?

    Até mais,

    TP.

    quinta-feira, 20 de fevereiro de 2014 20:43
  • Ele se referiu ao Filipe Costa, que mostrou um código em C.
    quinta-feira, 20 de fevereiro de 2014 20:51
  • 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..

    quinta-feira, 20 de fevereiro de 2014 20:59
  • 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..

    quinta-feira, 20 de fevereiro de 2014 21:28
  • 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
    quinta-feira, 20 de fevereiro de 2014 22:50
  • 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
    sexta-feira, 21 de fevereiro de 2014 11:32
  • 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.

    segunda-feira, 24 de fevereiro de 2014 12:25