• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

passado

Operações com datas em DataGridView

10 mensagens neste tópico

Boas pessoal eu pretendo criar um aviso e pintar as linhas de um gridview se a diferença entre o dia actual e o dia que esta na célula for de "X", eu a conta sei fazer só não sei é como ir buscar as datas as celulas, alguem me pode ajudar?

Depois queria criar um aviso também na mesma base, quando a diferença fosse por exemplo "1" ele mandava o aviso...

A minha dificuldade aqui está em correr todas as linhas, e fazer a conta indo buscar o valor de uma determinada celula.

Para o aviso tinha-me lembrado fazer atravez de uma query, mas nao sei ate que ponto isso e possivel.

Bem digam o que for mais viavel :)

Cumps 


Assunto rectificado
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque não carregar tudo para uma listview com view "Details", ao invés da grid?

Com a listview consegues ir buscar qualquer valor, pintar de qualquer cor e dar qualquer aspecto sem grande stress.

Aí bastava correr os items todos e fazer uma operação com TimeSpan

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Com Datagridview também é possível não vejo qual o stress.

Corres todas as linhas da DataGridView, e fazes as verificações necessárias.

Por exemplo digamos que a célula onde tens a data é index=3 (lembra-te que o index das células começa em 0, ou seja a primeira célula é 0 a segunda é 1 a terceira é 2 e assim sucessivamente, o mesmo para as linhas da DataGridView)

'Precorre as Linhas da DataGridView
For row As Integer = 0 To DataGridView.RowCount - 1
Msgbox("Valor da Celula 3: " & gridCortantes.Item(3, row).Value.ToString)
Next

Já sabes como ir buscar o valor da célula, agora é só aplicar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu acho stress porque as datagrid são feias :)

Sempre achei uma solução preguiçosa... basta dar o datasource... mandriões! :D

Gosto de controlar as coisas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu acho stress porque as datagrid são feias :)

Sempre achei uma solução preguiçosa... basta dar o datasource... mandriões! :D

Gosto de controlar as coisas.

Eu nunca usei datasource, sempre fiz tudo por código, e mesmo assim prefiro as DataGridView, acho que depende muito do que queres apresentar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

As ListView com a View a Details é no mínimo igual à datagrid.

A facilidade com que metes icones nos items na ListView, por exemplo, arruma a datagrid.

A única coisa boa da datagrid é a facilidade com que alteras um valor de uma célula e actualizas esse valor na DB.

Mas sim, claro. Depende do que queres mostrar, e mais importante, de como queres mostrar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu queria usar listview, mas optei por datagrid porque afrente de cada linha vou ter dois botoes xD

Weasel:

Vou ver se consigo criar o que quero com a tua ajuda :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lá está, "Depende do que queres mostrar, e mais importante, de como queres mostrar"

Segue a dica do Weasel sim, pois está correcta.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem com a ajuda do Weasel cheguei a este codigo, penso estar correcto, pelo menos funciona

        For row As Integer = 0 To DataGridView1.RowCount - 1
            Dim inicio As DateTime
            inicio = Today
            Dim fim As DateTime
            fim = DataGridView1.Item(3, row).Value
            Dim dif As TimeSpan = fim.Subtract(inicio)
            Dim dias As Integer = dif.Days
            If dias = 3 Then
                With Me.DataGridView1.Rows(row).DefaultCellStyle
                    .BackColor = Color.SpringGreen
                End With
            End If
        Next

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora