COLOCAR HORAS EM UM DETERMINADA COLUNA LISTVIEW

ELMO01 02/03/2017 07:34:30
#472034
Oi pessoal,

Tenho um ListView com várias colunas, mais quero que uma determinada hora apareça em uma coluna específica.Como faço para que este valor apareça nesta coluna?

Exemplo:

Tenho um ListView com 11 colunas onde:
1º Período
2 coluna é de entrada é de saída,

2º Período
2 coluna é de entrada é de saída,

3º Período
2 coluna é de entrada é de saída,

4º Período
2 coluna é de entrada é de saída,

Depois destas colunas, tenho mais uma coluna de HORAS TRABALHADAS.

O que quero é fazer a soma das colunas e o resultado apareça na coluna de horas trabalhadas.

Lembrando que o 3º e 4º períodos não vai ter valor inicial, ou seja elas estarão em branco como mostra a figura em anexo.

Obrigado


TUNUSAT 02/03/2017 08:41:04
#472036
ELMO01,

Sendo mais específico...

http://www.macoratti.net/14/11/vbn_dtdif1.htm

1- DateDiff - Retorna um valor do tipo Long que especifica o número de intervalos de tempo entre os dois valores tipo Date.

----------------------------------------------------------------------------------

Parâmetros:

Interval - Obrigatório. Valor de enumeração DateInterval ou expressão String representando o intervalo de tempo que você deseja utilizar como a unidade de diferença entre Date1 e Date2.

Date1 - Obrigatório. Date . A primeira data/hora que você deseja usar no cálculo.

Date2 - Obrigatório. Date . O segundo valor de data/hora que você deseja usar no cálculo.

DayOfWeek - Opcional. Um valor escolhido da enumeração FirstDayOfWeek que especifica o primeiro dia da semana. Se não especificado, FirstDayOfWeek.Sunday é usado.

WeekOfYear - Opcional. Um valor escolhido da enumeração FirstWeekOfYear que especifica o primeiro dia da semana. Se não especificado, FirstWeekOfYear.Jan1 é usado.


Se quiser eu monto para você.

Veja também:

https://msdn.microsoft.com/pt-br/library/b5xbyt6f(v=vs.90).aspx


[][ô]s,
Tunusat.
ELMO01 02/03/2017 10:10:09
#472039
TUNUSAT obrigado por ter respondido, a questão não é a soma entre as colunas e sim colocar o resultado desta soma na coluna HORAS TRABALHADAS de acordo com a figura acima.

Mas se você quiser montar uma função que calcule os horário ficaria grato também.

Lembre-se que em qualquer das colunas dos períodos pode não conter o horário, por exemplo:

1º Período 2º Período 3º Período 1º Período
Entrada Saída Entrada Saída Entrada Saída Entrada Saída Horas Trab.
08:00 Falta 12:000 18:00 [b]05:00[/b

Este é um exemplo qualquer, a falta pode estar em qualquer das colunas

Obrigado,


TUNUSAT 02/03/2017 11:12:39
#472042
ELMO01,

Okay, mas como você coloca os outros valores?
Qual é o tipo de Grade (Grid) que você está usando?

[][ô]s,
Tunusat.
ELMO01 02/03/2017 12:20:39
#472045
TUNUSAT, estou utilizando o ListView para mostrar os dados que estão no banco de dados MYSQL.
KURTGU 02/03/2017 12:38:55
#472046
Resposta escolhida
Por que não fazer um for somando as Linhas e adicionando na ultima o resultado?
ELMO01 02/03/2017 20:11:21
#472057
KURTGU, como vc viu na primeira figura, tenho que fazer um somatório por linha deste ListView, pois estou apurando pontos diários, se for somar a coluna não vai dar certo
KURTGU 02/03/2017 21:39:22
#472059
Estou falando somar a linha mesmo... e não a coluna, tinha escrito errado acima..
ELMO01 03/03/2017 07:44:55
#472066
KURTGU mais é isso que estou fazendo, somando a linha como já escrevi estou fazendo apuração de pontos
TUNUSAT 03/03/2017 10:40:06
#472070
ELMO01,

Montei uma função de nome [ô]RecebeArray[ô] para fazer o cálculo de cada linha que você processa.
De novo fiquei na dúvida se isso pode te ajudar ou não... Mas vamos lá!

 Public Class frmArraysDatas
[ô] MASSAS DE TESTE
[ô]Dim datas() As Nullable(Of DateTime) = {[Ô]01/01/2001 08:00[Ô], [Ô]01/01/2001 12:00[Ô], [Ô]01/01/2001 13:00[Ô], [Ô]01/01/2001 17:00[Ô], Nothing, Nothing}
[ô]Dim datas() As Nullable(Of DateTime) = {[Ô]01/01/2001 08:00[Ô], Nothing, [Ô]01/01/2001 13:00[Ô], [Ô]01/01/2001 17:00[Ô], [Ô]01/01/2001 18:00[Ô], [Ô]01/01/2001 20:00[Ô]}
Dim datas() As Nullable(Of DateTime) = {Nothing, [Ô]01/01/2001 12:00[Ô], [Ô]01/01/2001 13:00[Ô], [Ô]01/01/2001 17:00[Ô], [Ô]01/01/2001 18:00[Ô], [Ô]01/01/2001 20:00[Ô]}

Private Sub frmArraysDatas_Load(sender As Object, e As EventArgs) Handles MyBase.Load
RecebeArray(datas)
End Sub

Private Sub RecebeArray(ByVal data() As Nullable(Of DateTime))
Dim lngResultado As Long = 0
Dim bytSaida As Byte = 0

For Each item In data
bytSaida += 1

If (bytSaida Mod 2) = 0 Then

If Not (IsNothing(item) Or IsNothing(data(bytSaida - 2))) Then
lngResultado = lngResultado + DateDiff([Ô]h[Ô], data(bytSaida - 2), item)
End If

End If

Next

End Sub

End Class



[][ô]s,
Tunusat.
ELMO01 04/03/2017 09:50:05
#472111
TUNUSAT obrigado pelo seu código, vou verificar se vai dar certo - ok
Tópico encerrado , respostas não são mais permitidas