Array
(
)

Como criar uma agenda de horários

Felipe Medina
   - 01 set 2012

Olá galera, estou com dúvida de como criar uma agenda de horários no meu sistema.
Sei que irei precisar de um listview, mas como associar em um calendário a mudança da agenda no listview.
Estou utilizando c# windows form.

Felipe Medina
   - 06 set 2012

Ninguém pode ajudar?

0
|
0

Carolina Dutra
   - 19 set 2012

Já tentou utilizar o calendar?

0
|
0

Alisson
|
MVP
Pontos: 3400
    19 set 2012

Como seria essa agenda, o que ela teria que conter?

0
|
0

Felipe Medina
   - 19 set 2012

Mais ou menos nesse sentido.

http://www.c-sharpcorner.com/UploadFile/mgold/calendar08292005015724AM/Images/calendar.jpg

0
|
0

Alisson
|
MVP
Pontos: 3400
    20 set 2012

Se for fazer conforma está na imagem terá que utilizar um calendar e um listview.
Terá que utilizar um banco de dados para armazenar as informações.
E o código vai ter que ser dentro do calendar, aonde terá que pegar o dia que está passando e montando fazendo um selece e montando os listview, não precisa associar e sim apenas passar valores para ele vindo de um banco ou quando incluido vazer o vinculo dos dados para a data selecionada em um calendar.

0
|
0

Joel Rodrigues
   - 20 set 2012

Você já tem algo pronto? ou vai começar do zero agora?

0
|
0

Rodrigo Odasaki
   - 20 set 2012

A Telerik, possui algo muito legal. chamado: Rad:Scheduler
http://demos.telerik.com/aspnet-ajax/scheduler/examples/overview/defaultcs.aspx

Você consegue cria tudo o que está querendo e ainda mais.

Veja a área dos agendamentos: http://demos.telerik.com/aspnet-ajax/scheduler/examples/contextmenu/defaultcs.aspx

0
|
0

Joel Rodrigues
   - 20 set 2012

Bom, não uso os componentes da Telerik, mas uso os da DevExpress que também possui um cxScheduler. Inclusive escrevi um artigo recentemente sobre esse componente: http://www.devmedia.com.br/utilizando-o-componente-cxscheduler-da-devexpress/25800

0
|
0

Emanoel Deivison
   - 20 set 2012

Um site que tem muitos exemplos e tutoriais prontos que pode vir a te ajudar é o do Macoratti

http://www.macoratti.net

0
|
0

Felipe Medina
   - 20 set 2012

Boa tarde Pessoal,

Obrigado pelas orientações só complementando, eu já fiz a parte de cadastro de paciente e de médico, o que desejo seria associar um calendário em um listview, e cada médico tera o seu calendário e listview, com os horários marcados para cada um deles. Banco que estou utilizando: SQL Server.

Qual melhor forma?

Alimentar o listview do banco com os horário de cada dia (Seg até sexta) ? Obs. Todas as datas.
Inserir no banco de dodos somente os horário marcados e os que não tem marcação ficaria somente na tela e não no banco (Diminui dados no banco)?

0
|
0

Joel Rodrigues
   - 25 set 2012

Exato. Você lista todos os horários, mas do alguns estarão gravados no banco. Se tiver uma consulta marcada, você indica, se ao, apenas lista o horário.

0
|
0

Felipe Medina
   - 09 nov 2012


Citação:
Exato. Você lista todos os horários, mas do alguns estarão gravados no banco. Se tiver uma consulta marcada, você indica, se ao, apenas lista o horário.


Olá eu estou já bem adiantado na parte de agenda.

Ja consegui listar os horarios no listview, com as informações que está no banco.

Minha dúvida ainda é como irei popular os horarios que nao tenho no banco.

EX.
No banco tenho(10:00, 15:00) com paciente marcado. irei listar certinho a informação.

O problema está nos horários vagos, ou seja irá listar 2 horarios no listview, mas preciso de liste das (9:00 até as 18:00).

Ficou assim meu while.

while (dr.Read())
{
ListViewItem item = new ListViewItem(dr["hor_agenda"].ToString());
item.SubItems.Add(dr["nom_cliente"].ToString().ToUpper());
item.SubItems.Add(dr["tel_cliente"].ToString());
listViewAgenda.Items.Add(item);
}

Imagino que devo fazer alguma coisa dentro desse while.

0
|
0

Valter Furtado
   - 12 nov 2012

Por que não popula uma lista com os horarios do banco, daí vc faz um for, while, foreach o que achar melhor, e lista as horas do dia ou monta um objeto que retorna um array fixo com as horas do dia.

Daí vc faz um loop nas horas do dia checando se aquela hora existe na lista de objetos que veio do banco.

Se tiver na lista de objetos vc adiciona os dados se não você só mostra o horário vazio.

0
|
0

Felipe Medina
   - 12 nov 2012

Caras eu consegui realizar o que estava apanhando.

//Primeiro carrego o listview com os horarios que preciso.

for (i=1; i <= j; i++)
{
ListViewItem item = new ListViewItem(hora.ToString(@"hh\:mm"));
listViewAgenda.Items.Add(item);
}

//Apos listar todos os horarios, eu consulto no banco os horarios que estao cadastrados e faço um FindItemWithText, a hora que esta no banco sera o subitem da hora que preenchi anteriormente.

while (dr.Read())
{
ListViewItem item1 = listViewAgenda.FindItemWithText(dr["hor_agenda"].ToString());
item1.SubItems.Add(dr["nome"].ToString().ToUpper());
}

0
|
0

Johann Gomig
   - 09 mai 2013

Felipe, estou tentando fazer algo na mesma linha do seu pensamento, porem como comecei agora estou totalmente parado, tem como me da uma luz

0
|
0

Felipe Medina
   - 09 mai 2013


Citação:
Felipe, estou tentando fazer algo na mesma linha do seu pensamento, porem como comecei agora estou totalmente parado, tem como me da uma luz


Estamos ai, o que você precisa?
Qual a linguagem de programação?

0
|
0

Johann Gomig
   - 13 mai 2013

Estava me batendo com a listView mas agora ja estou dominando, problemas com:
#Código

ListView1.View = View.Details;


Trabalho academico sem orientação nenhuma é triste.

Estava meio enrolado na parte grafica esses dias, e logo vou tentar fazer a agenda.
Meu sistema também é um mini-sistema medico, com prontuario e bla bla bla.

Se começar a dar "xabu" de mais na agenda te dou um grito.

0
|
0

Johann Gomig
   - 16 mai 2013


Citação:
caras eu consegui realizar o que estava apanhando.

//primeiro carrego o listview com os horarios que preciso.

for (i=1; i <= j; i++)
{
listviewitem item = new listviewitem(hora.tostring(@"hh\:mm"));
listviewagenda.items.add(item);
}

//apos listar todos os horarios, eu consulto no banco os horarios que estao cadastrados e faço um finditemwithtext, a hora que esta no banco sera o subitem da hora que preenchi anteriormente.

while (dr.read())
{
listviewitem item1 = listviewagenda.finditemwithtext(dr["hor_agenda"].tostring());
item1.subitems.add(dr["nome"].tostring().toupper());
}



Meu periodo como leigo está se encurtando, mas o seu "hora" é um datetime?

0
|
0

Johann Gomig
   - 20 mai 2013

Felipe, consegui fazer a dita agente.
As dicas de todo o pessoal, e as suas no fim do topico me ajudaram muito.
Obrigado.

0
|
0

Milton Júnior
   - 21 mai 2013

Tem um Método bem fácil não sei se funciona em c# mas em vb.net eu usei esse componente uma vez quando tive essa
necessidade e bem fácil provável que funcione em c#.

http://www.codeproject.com/Articles/38699/A-Professional-Calendar-Agenda-View-That-You-Will

0
|
0