none
Controles vinculados RRS feed

  • Pergunta

  • Olá pessoal, tudo bem com todos.

     

    Bem, estou tento um problema com controles vinculados.

    Os controles TextBox  são vinculados a valores dos campos de um DataTable e são mostrados normalmente. Consigo alterar, inserir e remover com facilidade qualquer dado em memoria. Só que meu problema é mais visual.

    Quando um campo vinculado é do tipo DateTime os dados aparecem no TextBox com informação desnecessária.Por exemplo: "22/08/08 00:00:00"

    Alguém sabe alguma funcão no ADO para que aparece só a Data ou só a Hora ?

     

    Obrigado desde já!

     

     

     

    flows.

    terça-feira, 13 de janeiro de 2009 13:01

Respostas

  • Ajuste a propriedade: DataBindings do Binding em questão, passando a string de formatação adequada (veja este link  e este link). Algo assim

     

    ' Datas curtas.
    textBox1.DataBindings.Item[0].FormatString = "d";
    
    ' Datas personalizadas.
    textBox1.DataBindings.Item[0].FormatString = "dd/MM/yyyy";
    
    ' Ajuste na adição do DataBinding, se feita manualmente.
    textBox1.DataBindings.Add("Text", BindingSource, "NomeDoCampo", True, DataSourceUpdateMode.Never, 0, "d");

     

    terça-feira, 13 de janeiro de 2009 13:17

Todas as Respostas

  • Ajuste a propriedade: DataBindings do Binding em questão, passando a string de formatação adequada (veja este link  e este link). Algo assim

     

    ' Datas curtas.
    textBox1.DataBindings.Item[0].FormatString = "d";
    
    ' Datas personalizadas.
    textBox1.DataBindings.Item[0].FormatString = "dd/MM/yyyy";
    
    ' Ajuste na adição do DataBinding, se feita manualmente.
    textBox1.DataBindings.Add("Text", BindingSource, "NomeDoCampo", True, DataSourceUpdateMode.Never, 0, "d");

     

    terça-feira, 13 de janeiro de 2009 13:17
  • Olá Angus MacGyver blz?

    Obrigado pela resposta era isso que eu precisava. Somente com alguns acertos:

     

    Estou usando C# no vc2005 e para localiazar um Binding não foi preciso usar a propriedade Item (não existe) ficou assim:

     

    Code Snippet
    textBox1.DataBindings[0].FormatString = "dd/MM/yyyy";

     

     

    Na sua resposta no caso, somente a última opção funcionaria. Por que para isso surtir efeito a propriedade

    FormattingEnabled precisa estar como true, senão não funciona. Então ficou assim:

     

    Code Snippet
    textBox1.DataBindings[0].FormattingEnabled = true;

     

     

     

    Essa linha faz com que o FormatString apareça.

     

     

    Mais mesmo assim, foi um bela resposta. Estava achando que nem tinha como fazer isso. Obrigado mesmo

     

    Desculpe falar do seu código, mas acabei de testar o código e vi que não funcionava. Li a descrição do FormattingEnabled e observei que tinha que se true.

    Se alguém tiver esse problema mata essa dúvida na hora com essa thread.

     

     

    valws.

    Abraxxx.

    terça-feira, 13 de janeiro de 2009 16:00
  •  Vipzone wrote:

    Olá Angus MacGyver blz?

    Obrigado pela resposta era isso que eu precisava. Somente com alguns acertos:

     

    Estou usando C# no vc2005 e para localiazar um Binding não foi preciso usar a propriedade Item (não existe) ficou assim:

     

    Hmm, é. Fiz uma mistura da sintaxe do VB e C#.

     

    É o que dá mexer nas duas ao mesmo tempo e não testar o código digitado

     

     Vipzone wrote:

    Na sua resposta no caso, somente a última opção funcionaria. Por que para isso surtir efeito a propriedade

    FormattingEnabled precisa estar como true, senão não funciona. Então ficou assim:

     

    Code Snippet
    textBox1.DataBindings[0].FormattingEnabled = true;

     

     

     

    Ah,  isso eu esqueci de dizer. É o que faz a opção com True no método Add() da propriedade DataBindings.

     

    Quando não se usa a sobrecarga do método é preciso setá-la, claro

     

    terça-feira, 13 de janeiro de 2009 16:23