Como criar uma agenda de horários
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.
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
Curtidas 0
Respostas
Felipe Medina
01/09/2012
Ninguém pode ajudar?
GOSTEI 0
Carolina Dutra
01/09/2012
Já tentou utilizar o calendar?
GOSTEI 0
Alisson Santos
01/09/2012
Como seria essa agenda, o que ela teria que conter?
GOSTEI 0
Felipe Medina
01/09/2012
Mais ou menos nesse sentido.
[url]http://www.c-sharpcorner.com/UploadFile/mgold/calendar08292005015724AM/Images/calendar.jpg[/url]
[url]http://www.c-sharpcorner.com/UploadFile/mgold/calendar08292005015724AM/Images/calendar.jpg[/url]
GOSTEI 0
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.
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
01/09/2012
Você já tem algo pronto? ou vai começar do zero agora?
GOSTEI 0
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
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
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
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
http://www.macoratti.net
GOSTEI 0
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)?
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
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
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
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.
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
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());
}
//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
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
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
01/09/2012
Estava me batendo com a listView mas agora ja estou dominando, problemas com:
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.
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
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());
}
//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
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.
As dicas de todo o pessoal, e as suas no fim do topico me ajudaram muito.
Obrigado.
GOSTEI 0
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]
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é
01/09/2012
Como o autor deu a entender que sua duvida foi sanada, estou finalizando o tópico.
GOSTEI 0