Usuário com melhor resposta
Problema ao gerar grade de horários!!!

Pergunta
-
Tenho uma base de dados com dois horários, um inicial e outro final e mais uma coluna que contém o tamanho de um período em horas.
EX: Hora Abertura: 09:00:00, Hora Fechamento: 12:00:00 , Tam Periodo: 01:00:00.
O que quero fazer com esse período montar uma grade de horários possíveis em um gridview, como por exemplo:
09:00:00 - 10:00:00
10:00:00 -11:00:00
11:00:00 - 12:00:00
Respostas
-
Resolvi dessa forma, esta funcionando.
switch (turno) { case 2: if (tam_periodo != null) { while (hora_abertura <= hora_fechamento) { if (hora_abertura >= hora_fechamento) { break; } else { p.HorasPossiveis = hora_abertura + " - " + (hora_abertura += tam_periodo); lstHorarios.Add(p); } } } break; case 3: if (tam_periodo != null) { while (hora_abertura <= hora_fechamento) { if (hora_abertura >= hora_fechamento) { break; } else { p.HorasPossiveis = hora_abertura + " - " + (hora_abertura += tam_periodo); lstHorarios.Add(p); } } } break; default: break; }
- Marcado como Resposta Kainã quarta-feira, 20 de maio de 2015 19:46
Todas as Respostas
-
-
-
Veja se te ajuda esse link:
http://www.linhadecodigo.com.br/artigo/788/aspnet-20-explorando-o-gridview.aspx
Tem o código completo do projeto.
Fico no aguardo,
Att,
Ricardo Cortes Microsoft Contingent Staff
Esse contedo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.
MSDN Community Support
-
-
Obrigado pela dica, mas não é bem isso que preciso fazer. A parte de manipulação do gridview é tranquila, o problema em si é a geração dos horários. Mas obrigado por tentar ajudar.
Olá Kainã,
poderia exemplificar melhor o que deseja por exemplo seria do horario inicial as 8 o final as 12 vc ir montatando uma grade de horario no gridview como das 8 as 9, das 9 as 10 das 10 11.... ?
-
Isso. É isso mesmo. Só que para isso tenho na tabela também uma coluna chamada tamanho período.
Exemplo: tam_periodo = 01:00:00 ou pode ser tam_periodo = 01:30:00 e a partir desses horarios montar os mesmos que citou agora pouco. Podendo ser 8 as 9 ou das 8 as 9:30 dependendo do tamanho do período.
-
Resolvi dessa forma, esta funcionando.
switch (turno) { case 2: if (tam_periodo != null) { while (hora_abertura <= hora_fechamento) { if (hora_abertura >= hora_fechamento) { break; } else { p.HorasPossiveis = hora_abertura + " - " + (hora_abertura += tam_periodo); lstHorarios.Add(p); } } } break; case 3: if (tam_periodo != null) { while (hora_abertura <= hora_fechamento) { if (hora_abertura >= hora_fechamento) { break; } else { p.HorasPossiveis = hora_abertura + " - " + (hora_abertura += tam_periodo); lstHorarios.Add(p); } } } break; default: break; }
- Marcado como Resposta Kainã quarta-feira, 20 de maio de 2015 19:46
-
Olá Kainã,
você pode também utilizar o método AddHours da classe DateTime veja exemplo nesse link !!