Usuário com melhor resposta
Que código devo usar para não repetir cliente no DataGridView?

Pergunta
-
Boa noite! Gostaria de saber como fazer para não haver duplicidade de agendamento em um Datagridview. Como posso fazer para, antes de um cliente ser cadastrado, verificar se ele já exite e, se existir, não aparecer no Datagridview. Por exemplo: Se o cliente ainda não estiver no Datagridview o programa aceita os dados dele. Estou trabalhando com C# no Visual Studio Express 2012 sem banco de dados.
Respostas
-
Olá Nana,
Essa verificação você ira fazer no momento um pouco antes da inclusão do cadastro do agendamento. Você prescisa consultar a sua lista para saber se ja existe algum agendamento pendente para esse cliente e se existir apresentar alguma mensagem do tipo "Já existe um agendamento para este cliente pendente!" e não efetua a inclusão do registro.
Imaginando que voce tenha um objeto do tipo List<> para popular o seu datagridview, voce pode simplificar a consulta usando Linq.
Segue um exemplo de como localizar um registro usando Linq:
class Agendamento { public DateTime Data { get; set; } public Stream Cliente { get; set; } public Stream Motivo { get; set; } } class Agenda { public List<Agendamento> Lista = new List<Agendamento>(); public bool ClientePossuiAgendamento(string cliente) { return Lista.Any(item => item.Cliente == cliente); } }
Microsoft Community Contributor
- Editado Rui SantosModerator quarta-feira, 24 de junho de 2015 13:42
- Sugerido como Resposta Ricardo Barbosa CortesModerator quinta-feira, 25 de junho de 2015 19:54
- Marcado como Resposta Ricardo Barbosa CortesModerator sexta-feira, 26 de junho de 2015 13:18
Todas as Respostas
-
-
Olá Nana,
Essa verificação você ira fazer no momento um pouco antes da inclusão do cadastro do agendamento. Você prescisa consultar a sua lista para saber se ja existe algum agendamento pendente para esse cliente e se existir apresentar alguma mensagem do tipo "Já existe um agendamento para este cliente pendente!" e não efetua a inclusão do registro.
Imaginando que voce tenha um objeto do tipo List<> para popular o seu datagridview, voce pode simplificar a consulta usando Linq.
Segue um exemplo de como localizar um registro usando Linq:
class Agendamento { public DateTime Data { get; set; } public Stream Cliente { get; set; } public Stream Motivo { get; set; } } class Agenda { public List<Agendamento> Lista = new List<Agendamento>(); public bool ClientePossuiAgendamento(string cliente) { return Lista.Any(item => item.Cliente == cliente); } }
Microsoft Community Contributor
- Editado Rui SantosModerator quarta-feira, 24 de junho de 2015 13:42
- Sugerido como Resposta Ricardo Barbosa CortesModerator quinta-feira, 25 de junho de 2015 19:54
- Marcado como Resposta Ricardo Barbosa CortesModerator sexta-feira, 26 de junho de 2015 13:18