none
Que código devo usar para não repetir cliente no DataGridView? RRS feed

  • 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.
    quarta-feira, 24 de junho de 2015 00:00

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


    quarta-feira, 24 de junho de 2015 13:38
    Moderador

Todas as Respostas

  • Você tem alguma informação nesse cliente que seja única? Por exemplo um ID?


    quarta-feira, 24 de junho de 2015 00:44
  • 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


    quarta-feira, 24 de junho de 2015 13:38
    Moderador