Como criar uma agenda de horários

.NET

01/09/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

Felipe Medina

Curtidas 0

Respostas

Felipe Medina

Felipe Medina

01/09/2012

Ninguém pode ajudar?
GOSTEI 0
Carolina Dutra

Carolina Dutra

01/09/2012

Já tentou utilizar o calendar?
GOSTEI 0
Alisson Santos

Alisson Santos

01/09/2012

Como seria essa agenda, o que ela teria que conter?
GOSTEI 0
Felipe Medina

Felipe Medina

01/09/2012

Mais ou menos nesse sentido.

[url]http://www.c-sharpcorner.com/UploadFile/mgold/calendar08292005015724AM/Images/calendar.jpg[/url]
GOSTEI 0
Alisson Santos

Alisson Santos

01/09/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.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

01/09/2012

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

Rodrigo Odasaki

01/09/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
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

01/09/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: https://www.devmedia.com.br/utilizando-o-componente-cxscheduler-da-devexpress/25800
GOSTEI 0
Deivison Melo

Deivison Melo

01/09/2012

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

http://www.macoratti.net
GOSTEI 0
Felipe Medina

Felipe Medina

01/09/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)?
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

01/09/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.
GOSTEI 0
Felipe Medina

Felipe Medina

01/09/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.


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.
GOSTEI 0
Valter Furtado

Valter Furtado

01/09/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.
GOSTEI 0
Felipe Medina

Felipe Medina

01/09/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());
}

GOSTEI 0
Johann Gomig

Johann Gomig

01/09/2012

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

Felipe Medina

01/09/2012

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?
GOSTEI 0
Johann Gomig

Johann Gomig

01/09/2012

Estava me batendo com a listView mas agora ja estou dominando, problemas com:
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.
GOSTEI 0
Johann Gomig

Johann Gomig

01/09/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());
}



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

Johann Gomig

01/09/2012

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

Milton Júnior

01/09/2012

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#.

[url]http://www.codeproject.com/Articles/38699/A-Professional-Calendar-Agenda-View-That-You-Will[/url]
GOSTEI 0
José

José

01/09/2012

Como o autor deu a entender que sua duvida foi sanada, estou finalizando o tópico.
GOSTEI 0
POSTAR