PotHix 0 Denunciar post Postado Dezembro 3, 2007 Æ!! PessoALL, Não manjo muita coisa de ASP.NET, e estou com um problema que resolveria em ASP...hheheh...Mas em ASP.NET não sei. É o seguinte: Tenho um repeater que preenche uma tabela com os dados que vem de seu source. Entre estes dados há uma data, que eu uso Format(dd/MM/yyy) para deixá-la no formato que eu quero... Mas o que acontece, é que essa data não está presente em todos os registros, portanto, tem registros que a data está nula, gerando assim o erro no format. Aí eu chego no meu dilema...Como fazer para formatar a data com ASP.NET ignorando quando ela não estiver lá? OBS: tentei com SQL, para trazer no formato correto já, mas o ORDER BY é por este campo de data e acabou não dando certo. Agradeço desde já a atenção de todos e aguardo resposta! http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif Hà braços Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Dezembro 3, 2007 PotHix quando eu retorno dados do banco, eu costumo usar DataReader, e faço uma validação antes de setar a formatação, verifico se o ToString for diferente de branco, então formata, mais ou menos assim: If dr.Read Then If dr.Item("Data").ToString <> "" Then Format(dr.item("Data"), "dd/MM/yyyy") End If End If http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif Compartilhar este post Link para o post Compartilhar em outros sites
PotHix 0 Denunciar post Postado Dezembro 4, 2007 Æ!! Amigo quintelab, Eu sempre utilizei o o método de colocar DataSourceID no Repeater e depois dar um SelectComand para o mesmo... Eu dava o format na pagina aspx. Você poderia me dar mais detalhes de como eu posso fazer do seu modo? Ou seja, fazer com DataReader e depois popular o Repeater? Será muito útil se puder me ajudar! Aguardo respostas. http://forum.imasters.com.br/public/style_emoticons/default/natal_wink.gif Há braços Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Dezembro 4, 2007 Mal ae PotHix não consegui fazer usando o Repeater, mas fica um possível dica, a GridView não serve no lugar do Repeater ? Pois eu acho que não da erro na grid quando você manda formatar um campo e ele esteja vazio... http://forum.imasters.com.br/public/style_emoticons/default/natal_sad.gif Compartilhar este post Link para o post Compartilhar em outros sites
PotHix 0 Denunciar post Postado Dezembro 4, 2007 Æ!! quintelab, Eu gosto de usar o Repeater... Gostaria de saber como utilizar o seu código...Por que da minha maneira ele não se encaixa...ehhehee No aspx: <asp:Repeater ID="Repeater1" runat="server" DataSourceID="teste"> no aspx.vb teste.SelectCommand = "SELECT * FROM tabela" Desse modo eu não uso o data reader...Portanto eu não sei como utilizar o seu código para validar antes... Se eu conseguisse validar antes me seria útil para outras coisas tambem... Por exemplo...Nesse mesmo caso, eu coloco as datas em uma label dentro do repeater, e precisaria que a cor da data fosse diferente dependendo se a data é menor ou maior que hoje... Mas tambem não sei como fazer isso pois estou preso a popular o Repeater direto com o SelectComand como postei acima... Você tem como me ajudar? Se precisar de mais informações me avise! http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif Agradeço a ajuda e aguardo resposta! http://forum.imasters.com.br/public/style_emoticons/default/natal_happy.gif Há braços Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Dezembro 4, 2007 Vou postar como eu utilizo e vejamos se conseguimos, pois eu nunca trabalhei com o Repeater. Eu seto tudo via código, e alimento vou populando objeto por objeto do meu formulário, esse é o grande problema não sei como você irá alimentar seus objetos. Ex.: VerificaCon(1) Dim vSql as String = "SELECT CAMPO1, CAMPO2, CAMPO_DATA FROM TABELA" Dim drSqlServer As SqlDataReader Dim cmd As New SqlCommand(vSql, Conexao) drSqlServer = cmd.ExecuteReader cmd.Dispose() If drSqlServer.Read lblCampo1.Text = drSqlServer.Item("CAMPO1") lblCampo2.Text = drSqlServer.Item("CAMPO2") If drSqlServer.Item("CAMPO_DATA").ToString <> "" Then Format(drSqlServer.Item("CAMPO_DATA"), "dd/MM/yyyy") End If End If drSqlServer.Close() VerificaCon(2) Só que não tenho idéia como aplicar isso no Repeater... Compartilhar este post Link para o post Compartilhar em outros sites
PotHix 0 Denunciar post Postado Dezembro 5, 2007 Æ!! quintelab, Com isso você consegue gerar uma tabela de registros? Com o Repeater eu trago os diversos registros do banco de dados e depois faço uma talela ( tr e td ) para exibir os registros na tela... Com seu código você consegue isso tambem? Desculpe as muitas perguntas...O motivo ( como expliquei antes ) é que não conheço o seu modo, e gostaria de saber se faz a mesma coisa que o meu. http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif Há braços Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Dezembro 5, 2007 O problema é esse PotHix da forma que eu utilizo já tenho meus controles no formulário todos prontos, eu não crio eles, nem mesmo as tabelas do HTML via código, o Repeater cria de forma dinâmica, do jeito que eu utilizo eu já os criei manualmente. http://forum.imasters.com.br/public/style_emoticons/default/natal_sad.gif Compartilhar este post Link para o post Compartilhar em outros sites
PotHix 0 Denunciar post Postado Dezembro 6, 2007 Æ!! hummm....Entendi agora... Para mim fica difícil, pois eu não sei quantos dados virão do banco para eu criar tudo antes...entende? É variável... Mas mesmo assim agradeço sua prestatividade em tentar ajudar! =) Alguem mais pode me ajudar com o caso do repeater? Há braços Compartilhar este post Link para o post Compartilhar em outros sites