DESCOBRIR QUAL DATA FALTA DATAGRID

KERPLUNK 08/02/2012 14:36:52
#394288
Para preencher o grid, em algum momento vc vai buscar algo no banco, certo? Pois bem, então vc pega esses dados e preehcne o grid, GUARDE esses dados em alguma variável ou propriedade e deixa o usuário mexer nele conforme o que ele quer. Pois é, essa [Ô]mexida[Ô] do usuário, deve também alterar os dados nessa variável guardada, e é ela quem deve ser enviada para o banco.
ALTAIR148 08/02/2012 14:45:20
#394289
Mas e a comparação para ver se não falta nenhuma data, como seria? Ainda não consegui botar isso na cabeça.

Obrigado.
KERPLUNK 08/02/2012 14:59:10
#394290
O usuário vai mexer no grid, e com isso vai alterando os dados que vc selecionou do banco previamente. No momento da gravação, vc faz a checagem como te falei, esqueça o grid, ele é só exibição, pra ser franco, na minha opinião, nem deveria ser possível usar o grid como se fosse uma [Ô]planilha do excel[Ô], se quer alterar dados de alguma linha, uma telinha com os campos deveria ser exibida, mas isso é outro assunto.
Então, ao gravar os dados, faça a soma dos dias DOS DADOS EM MEMÓRIA, que são a representação do grid.
FOXMAN 09/02/2012 12:14:24
#394333
Resposta escolhida
Altair segue conversão C# to VB.NET

Public Function retornaDatasFaltantes() As List(Of DateTime)

Dim oRetorno = New List(Of DateTime)()
[ô]PEGO A PRIMEIRA DATA APENAS PARA TER O MES E O ANO
Dim DataAux = Convert.ToDateTime(seuGrid.Rows(0).Cells(0).Text)

[ô]PEGO O MES E INICIO O DIA COMO 1
DataAux = Convert.ToDateTime([Ô]01[Ô] & [Ô]/[Ô] & Convert.ToString(DataAux.Month) & [Ô]/[Ô] & Convert.ToString(DataAux.Year))

[ô]PEGO O MES
Dim mes = DataAux.Month

[ô]VOU ADICIONANDO DIAS ATé MUDAR O MES
While DataAux.Month = mes
oRetorno.Add(DataAux.[Date])
[ô]ALIMENTO A LISTA COM OS DIS DO MES. DEPOIS REMOVO OS QUE TEM NO GRID
DataAux.AddDays(1)
End While

For i As Integer = 0 To seuGrid.Rows.Count - 1
[ô]PERCORRO O GRID REMOVENDO DA LISTA OS DIAS QUE TEM NO GRID
[ô]removo as datas que tem o grid ficando apenas as que nao tem no grid
oRetorno.RemoveAll(Function(x) x = Convert.ToDateTime(seuGrid.Rows(i).Cells(0).Text).[Date])
Next

Return oRetorno
[ô] O RETORNO SERÁ OS DIAS QUE FALTAM NO DATAGRID
End Function



Página 2 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas