none
Ocultar Item no ComboBox RRS feed

  • Discussão Geral

  • ola galera, quero agradecer a todos que ajudam neste forum, 

    quero também tirar uma duvida,

    vou tentar explicar, tenho um form OrdemDeServico onde eu Crio, Edito e Finalizo a ordem no mesmo form

    eu tenho uma ComboBox com 3 Items  "Orçamento" "Manutenção" e "Finalizado"

    gostaria de saber se tem como eu ocultar o item "Finalizado" para somente aparacer quando aperto no Botão Editar? que é a hora que carrega  os TextBox, 

    mito obrigado e um abraço!

    segunda-feira, 5 de novembro de 2018 01:45

Todas as Respostas

  • Provavelmente voce populou os dados do combobox em design

    para solucionar, basta voce popular os dados em tempo de execução;

    windows form - coloque no metodo da classe onde tem o InitializeComponent

           public Form2()
            {
                InitializeComponent();

    web form - page load

    espero que te ajude


    • Editado J.G. _ segunda-feira, 5 de novembro de 2018 21:17 correção
    segunda-feira, 5 de novembro de 2018 20:59
  • e assim, esta tudo funcionando perfeitamente,  minha form carrega tudo certinho, eu só queria saber se tem como ocultar um items da combobox, tipo quando eu clicar no Botão nova ordem o item "Finalizado" não aparecesse, e quando for editar o item "Finalizado" aparecer, isso no c#...

    Obrigado pela resposta.


    • Editado Titodj7 segunda-feira, 5 de novembro de 2018 21:53
    segunda-feira, 5 de novembro de 2018 21:52
  • Olá. Eu tenho uma classe que utilizo para facilitar a implementação dos values e text;

            public class ComboElem
            {
                public ComboElem(string valor, int codigo, string nome)
                {
                    Valor = valor;
                    Codigo = codigo;
                    Nome = nome;
                }
    
                string _valor;
                int _Codigo;
                string _nome;
    
                public string Valor
                {
                    get { return _valor; }
                    set { _valor = value; }
                }
    
                public int Codigo
                {
                    get { return _Codigo; }
                    set { _Codigo = value; }
                }
    
                public string Nome
                {
                    get { return _nome; }
                    set { _nome = value; }
                }
            }

    ai dentro do código voce pode fazer algo assim:

    private void btnEditar_Click(object sender, EventArgs e)
    {
           ArrayList arrTipo = new ArrayList();
    
                    arrTipo = new ArrayList();
                    arrTipo.Add(new WinFormApp_Testes.Form1.ComboElem("Orçamento", 0, "Orçamento"));
                    arrTipo.Add(new WinFormApp_Testes.Form1.ComboElem("Manutenção", 1, "Manutenção"));
                    arrTipo.Add(new WinFormApp_Testes.Form1.ComboElem("Finalizado", 2, "Finalizado"));
    
                    comboVersaoNfe.DataSource = arrTipo;
                    comboVersaoNfe.DisplayMember = "valor";
                    comboVersaoNfe.ValueMember = "codigo";
    }
    
    
    
    private void btnNovaOrdem_Click(object sender, EventArgs e)
    {
           ArrayList arrTipo = new ArrayList();
    
                    arrTipo = new ArrayList();
                    arrTipo.Add(new WinFormApp_Testes.Form1.ComboElem("Orçamento", 0, "Orçamento"));
                    arrTipo.Add(new WinFormApp_Testes.Form1.ComboElem("Manutenção", 1, "Manutenção"));
                   
                    comboVersaoNfe.DataSource = arrTipo;
                    comboVersaoNfe.DisplayMember = "valor";
                    comboVersaoNfe.ValueMember = "codigo";
    }
    
    
    

    para pegar a seleção (value)

    string teste = this.comboVersaoNfe.SelectedValue.ToString();



    Ou seja, no click do NOVAORDEM, voce carrega somente as opções sem "finalizado";

    espero que te ajude.


    • Editado J.G. _ segunda-feira, 5 de novembro de 2018 22:47 correção
    segunda-feira, 5 de novembro de 2018 22:31
  • Bah amigo, Obrigado pela ajuda mas fiquei meio perdido sou novo no c#, não estou muito certo da logica,

    eu teno uma class ModeloServicoOrd

    public class ModeloServicoOrd
        {
            public ModeloServicoOrd()
            {
                this.ID_Tr = 0;
                this.IdOrdemServico = 0;
                this.Valor = 0;
                this.Descricao = "";
                this.Garantia = DateTime.Now;

            }

            public ModeloServicoOrd(int ID_Tr, int IdOrdemServico, decimal Valor, string Descricao, DateTime Garantia)
            {
                this.ID_Tr = id_tr;
                this.IdOrdemServico = idordemServico;
                this.Valor = valor;
                this.Descricao = descricao;
                this.Garantia = garantia;
            }
            //_______________________________________
            private int id_tr;
            public int ID_Tr
            {
                get { return this.id_tr; }

                set { this.id_tr = value; }
            }
            //_______________________________________
            private int idordemServico;
            public int IdOrdemServico
            {
                get { return this.idordemServico; }

                set { this.idordemServico = value; }
            }
            //_______________________________________
            private decimal valor;
            public decimal Valor
            {
                get { return this.valor; }

                set { this.valor = value; }
            }
            //_______________________________________
            private string descricao;
            public string Descricao
            {
                get { return this.descricao; }

                set { this.descricao = value; }
            }  
            //_______________________________________
            private DateTime garantia;
            public DateTime Garantia
            {
                get { return this.garantia; }

                set { this.garantia = value; }
            }
        }

    carrego uma  Class CotroleServico 

                            

    public class ControleServico
        {
            /// <summary>
            /// Salvando um novo serviço, Seriço que é gerado apartir da finalização de uma Ordem de serviço
            /// </summary>
            /// <param name="ServicoBase">Servico Base.</param>
            public static string Criar(ModeloServicoOrd ServicoBase)
            {
                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();


                cmd.CommandText = "Insert into Trabalhos (IdOrdemDeServico,Valor,Descricao,Garantia) values (@idordemdeservico,@valor,@descricao,garantia); select @@IDENTITY;";
                cmd.Parameters.AddWithValue("@idordemdeservico", ServicoBase.IdOrdemServico.ToString());
                cmd.Parameters.AddWithValue("@valor", ServicoBase.Valor.ToString());
                cmd.Parameters.AddWithValue("@descricao", ServicoBase.Descricao);
                cmd.Parameters.AddWithValue("@garantia", ServicoBase.Garantia);
                //cmd.CommandType("valor", Locale.EUROPEAN);
                try
                {
                    cmd.Connection = conexao.ObjetConexao;
                    conexao.Conectar(); 
                    cmd.ExecuteNonQuery();
                    conexao.Desconectar();
                    return "Serviço foi salvo com sucesso";
                }
                catch (Exception ex)
                {
                    //DALArquivoLog.GeraraLog(ex);

                    return String.Format("Ocorreu um erro ao tentar salvar o serviço{0}", ex.Message);
                }
            }

            /// <summary>
            /// Carregando as informações de um trabalhos
            /// </summary>
            /// <param name="NumeroOs">Numero os.</param>
            public static ModeloServicoOrd Carregar(int NumeroOs)
            {
                DataTable tabela = new DataTable("Trabalhos");
                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();

                SqlDataAdapter da = new SqlDataAdapter("Select * from Trabalhos where OrdemDeServico = @ID_Tr"+ NumeroOs, conexao.ObjetConexao);
                //cmd.Parameters.AddWithValue("@ID_Tr", NumeroOs.ToString());

                try
                {
                    cmd.Connection = conexao.ObjetConexao;

                    cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    //DALArquivoLog.GeraraLog(ex);
                }

                return PreencherTrabalho(tabela);
            }

            /// <summary>
            /// Deletando serviço gerado
            /// </summary>
            /// <param name="NumeroOs">Numero os.</param>
            public static string Deletar(int NumeroOS)
            {
                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();

                cmd.CommandText = "delete from Trabalhos where OrdemDeServico = @idordemdeservico";
                cmd.Parameters.AddWithValue("@idordemdeservico", NumeroOS.ToString());


                try
                {
                    ReverterStatusDaOrdemDeServico(NumeroOS);

                    cmd.Connection = conexao.ObjetConexao;

                    cmd.ExecuteScalar();

                    return "Serviço deletado com sucesso!";
                }
                catch (Exception ex)
                {
                   /* DALArquivoLog.GeraraLog(ex)*/;

                    return String.Format("Ocorreu um erro:{0}", ex.Message);
                }
            }

            /// <summary>
            /// Carregando lista de servicos executados.
            /// </summary>
            /// <returns>The lista.</returns>
            public static DataTable CarregarLista()
            {
                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();
                DataTable tabela = new DataTable("Trabalhos");

                SqlDataAdapter da = new SqlDataAdapter("select t.* from Trabalhos t", conexao.ObjetConexao);

                try
                {
                    cmd.Connection = conexao.ObjetConexao;

                    cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    //DALArquivoLog.GeraraLog(ex);
                }

                return tabela;
            }

            /// <summary>
            /// Carrega uma lista de ids das Ordens de serviço que contém um serviço.
            /// </summary>
            /// <returns>Lista de Ids Das ordens de serviço.</returns>
            public static DataTable CarregarListaDeIdsDasOrdensDeServico()
            {
                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();
                DataTable tabela = new DataTable("Trabalhos");

                SqlDataAdapter da = new SqlDataAdapter("select OrdemDeServico from Trabalhos", conexao.ObjetConexao);
                da.Fill(tabela);
                try
                {
                    cmd.Connection = conexao.ObjetConexao;
                    conexao.Conectar();
                    cmd.ExecuteNonQuery();
                    conexao.Desconectar();
                }
                catch (Exception ex)
                {
                    //DALArquivoLog.GeraraLog(ex);
                }

                return tabela;
            }

            /// <summary>
            /// Preenchendo a classe Serviço com as informações de um DataTabel
            /// </summary>
            /// <returns>The trabalho.</returns>
            /// <param name="tabela">Tabela.</param>
            private static ModeloServicoOrd PreencherTrabalho(DataTable tabela)
            {
                ModeloServicoOrd ServicoBase = new ModeloServicoOrd();

                List<string> Informacoes = new List<string>();

                foreach (DataRow r in tabela.Rows)
                {
                    foreach (DataColumn c in tabela.Columns)
                    {
                        Informacoes.Add(r[c].ToString());
                    }
                }

                ServicoBase.ID_Tr = Convert.ToInt32(Informacoes[0]);
                ServicoBase.IdOrdemServico = Convert.ToInt32(Informacoes[1]);
                ServicoBase.Valor = Convert.ToDecimal(Informacoes[2]);
                ServicoBase.Garantia = Convert.ToDateTime(Informacoes[3]);

                return ServicoBase;
            }

            /// <summary>
            /// Reverte o status da Ordemd e serviço quando o serviço é excluido, o Status volta para Manutenção,
            /// pois não pdoe háver uma Ordem de serviço finalizada sem um serviço criado.
            /// </summary>
            /// <param name="IDOrdemDeServico">Identifier ordem de servico.</param>
            private static void ReverterStatusDaOrdemDeServico(int IdOrdemDeServico)
            {

                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();

                cmd.CommandText = "update OrdemDeServico set Situacao = @situacao where ID_OS = @id_os";

                cmd.Parameters.AddWithValue("@situacao", "Manutenção");
                cmd.Parameters.AddWithValue("@id_os", IdOrdemDeServico.ToString());

                try
                {
                    cmd.Connection = conexao.ObjetConexao;

                    cmd.ExecuteNonQuery();
                }
                catch (Exception)
                {
                }
            }
        }

     mas o form Frm_NovaOS  carrega apartir da Class ControleOS e Class ModeloOrdemServico

                    

     public class ControleOS
        {
            private DALConexao conexao;
            public ControleOS(DALConexao cx)
            {
                this.conexao = cx;
            }
            /// <summary>
    /// Salvando Ordem De Serviço
    /// </summary>
    /// <param name="Os">Os.</param>
    public static string Criar(ModeloOrdemServico Os)
            {
                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conexao.ObjetConexao;
                conexao.Conectar();
                cmd.CommandText = "insert into OrdemDeServico (Situacao,DefeitoRelatado,DefeitoConstatado,Garantia,Descricao,Observacao,NumeroDeSerie,Modelo,DataEntradaServico,IDCliente,Valor,NumeroOS)" +
                              " values(@situacao,@defeitoRelatado,@defeitoConstatado,@garantia,@descricao,@observacao,@numerodeserie,@modelo,@dataentradaservico,@IdCliente,@valor,@numeroOS)";

                cmd.Parameters.AddWithValue("@situacao", Os.Situacao);
                cmd.Parameters.AddWithValue("@defeitoRelatado", Os.DefeitoRelatado);
                cmd.Parameters.AddWithValue("@defeitoConstatado", Os.DefeitoConstatado);
                cmd.Parameters.AddWithValue("@descricao", Os.Descricao);
                cmd.Parameters.AddWithValue("@observacao", Os.Observacao);
                cmd.Parameters.AddWithValue("@numeroDeSerie", Os.NumeroSerie);
                cmd.Parameters.AddWithValue("@modelo", Os.Modelo);
                cmd.Parameters.AddWithValue("@dataEntradaServico", Os.DataEntradaServico.ToString());
                cmd.Parameters.AddWithValue("@garantia", Os.Garantia.ToString());
                cmd.Parameters.AddWithValue("@IdCliente", Os.IDCliente.ToString());
                cmd.Parameters.AddWithValue("@valor", Os.Valor.ToString());
                cmd.Parameters.AddWithValue("@numeroOS", Os.NumeroOS.ToString());

                try
                {

                    Os.ID_OS = Convert.ToInt32(cmd.ExecuteScalar());
                    conexao.Desconectar();

                    return "Ordem de serviço numero foi salva com sucesso!";
                }
                catch (Exception ex)
                {
                    return String.Format("Ocorreu um erro ao tental salvar a Ordem de serviço:{0}", ex.Message);
                }
            }

            /// <summary>
            /// Editando Ordem de serviço
            /// </summary>
            /// <param name="OS">O.</param>
            /// 

            public static string Editar(ModeloOrdemServico os)
            {
                string Saida = "";
                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conexao.ObjetConexao;
                cmd.CommandText = "update ordemdeservico set  IdCliente =@idCliente,Situacao = @situacao, Garantia = @garantia, DefeitoRelatado = @defeitoRelatado, NumeroDeSerie = @numeroDeSerie," +
                    " Modelo = @modelo,  NumeroOS = @numeroOS, DefeitoConstatado = @defeitoConstatado, DataEntradaServico = @dataEntradaServico, Observacao = @observacao," +
                    " Valor = @valor, Descricao = @descricao where ID_OS = @id_os";
                cmd.Parameters.AddWithValue("@situacao", os.Situacao);
                cmd.Parameters.AddWithValue("@garantia", os.Garantia);
                cmd.Parameters.AddWithValue("@defeitoRelatado", os.DefeitoRelatado);
                cmd.Parameters.AddWithValue("@numeroDeSerie", os.NumeroSerie);
                cmd.Parameters.AddWithValue("@modelo", os.Modelo);
                cmd.Parameters.AddWithValue("@numeroOS", os.NumeroOS);
                cmd.Parameters.AddWithValue("@defeitoConstatado", os.DefeitoConstatado);
                cmd.Parameters.AddWithValue("@dataEntradaServico", os.DataEntradaServico);
                cmd.Parameters.AddWithValue("@observacao", os.Observacao);
                cmd.Parameters.AddWithValue("@valor", os.Valor);
                cmd.Parameters.AddWithValue("@descricao", os.Descricao);
                cmd.Parameters.AddWithValue("@id_os", os.ID_OS);
                cmd.Parameters.AddWithValue("@idCliente", os.IDCliente);

                try
                {
                    conexao.Conectar();
                    cmd.ExecuteNonQuery();
                    conexao.Desconectar();
                    Saida = "A Ordem de serviço foi editada com sucesso!";
                }
                catch (Exception exc)
                {
                    Saida = "Ocorreu um erro inesperado: " + exc.Message;
                }

                return Saida;

            }


            /// <summary>
            /// Deletando ordem de serviço.
            /// </summary>
            /// <param name="id">Identifier.</param>
            public static string Deletar(int ID_OS)
            {
                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();

                cmd.CommandText = "delete from ordemdeservico where Id_os = @ID_OS";
                cmd.Parameters.AddWithValue("@ID_OS", ID_OS.ToString());

                try
                {
                    cmd.Connection = conexao.ObjetConexao;
                    conexao.Conectar();
                    cmd.ExecuteScalar();
                    conexao.Desconectar();

                    return "Ordem de serviço deletada com sucesso!";
                }
                catch (Exception)
                {

                    return "Erro ao excluir a ordem de serviço";
                }
            }


            /// <summary>
            /// Retorna um DataTable com todas as Ordens de serviço.
            /// </summary>
            /// <returns>The lista.</returns>

            public static DataTable CarregarLista()
            {
                DataTable tabela = new DataTable("ordemdeservico");
                SqlCommand cmd = new SqlCommand();

                try
                {
                    DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                    conexao.Conectar();

                    SqlDataAdapter da = new SqlDataAdapter("select ID_OS, os.NumeroOS, p.Nome,  os.Situacao, os.Garantia, os.DefeitoRelatado, os.NumeroDeSerie, os.Modelo,  os.DefeitoConstatado, os.DataEntradaServico,   " +
                                                          " os.Observacao, os.Valor, os.Descricao from Pessoa as p inner join ordemdeservico as os on p.ID_Cli = os.IdCliente", conexao.StringConexao);
                    da.Fill(tabela);

                    cmd.ExecuteNonQuery();
                    conexao.Desconectar();
                }
                catch (Exception)
                {

                }
                return tabela;
            }
            /// <summary>
    /// Finalizando ordem de serviço(Mudando o Status da OS), e criando um novo serviço.
    /// </summary>
    /// <returns>The O.</returns>
    public static string FinalizarOS(ModeloServicoOrd InformacoesDoServico)
            {
                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conexao.ObjetConexao;

                cmd.CommandText = "update OrdemDeServico set Situacao = @situacao where ID_OS = @id_os";

                cmd.Parameters.AddWithValue("situacao", "Finalizado");
                cmd.Parameters.AddWithValue ("id_os", InformacoesDoServico.IdOrdemServico.ToString());

                try
                {

                    conexao.Conectar();
                    cmd.ExecuteNonQuery();
                    conexao.Desconectar();
                    ControleServico.Criar(InformacoesDoServico);//Gerar um trabalho, após ter alterado as informações da OS.

                    return "A Ordem de serviço foi finalizda com sucesso.";
                }
                catch (Exception ex)
                {
                    return String.Format("Ocorreu um erro ao tentar finalizar a OS: {0}", ex.Message);
                }

            }

            /// <summary>
            /// Reverte o status da Ordemd e serviço quando o serviço é excluido, o Status volta para Manutenção,
            /// pois não pdoe háver uma Ordem de serviço finalizada sem um serviço criado.
            /// </summary>
            /// <param name="IDOrdemDeServico">Identifier ordem de servico.</param>
            private static void ReverterStatusDaOrdemDeServico(int IDOrdemServico)
            {

                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conexao.ObjetConexao;

                cmd.CommandText = "update OrdemDeServico set Situacao = @situacao where ID_OS = @id_os";

                cmd.Parameters.AddWithValue("situacao", "Manutenção");
                cmd.Parameters.AddWithValue("id", IDOrdemServico.ToString());



                try
                {
                    conexao.Conectar();
                   cmd.ExecuteNonQuery();
                    conexao.Desconectar();
                }
                catch (Exception)
                {

                }
            }
            /// <summary>
            /// Retorna um DataTable com todos os ids das Ordens de serviço.
            /// </summary>
            /// <returns>The lista.</returns>
            //public static DataTable CarregarListaDeIds()
            //      {
            //          DataTable tabela = new DataTable("ordemdeservico");
            //          SqlCommand cmd = new SqlCommand();

            //          try
            //          {
            //              DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
            //              cmd.Connection = conexao.ObjetConexao;

            //              SqlDataAdapter da = new SqlDataAdapter("Select NumeroOS from OrdemDeServico where NumeroOS like '%" + "" + "%'", conexao.StringConexao);
            //              da.Fill(tabela);


            //              //SqlDataAdapter da = new SqlDataAdapter("select IdCliente from  ordemdeservico ID_OS", conexao.StringConexao);
            //              //da.Fill(tabela);
            //          }
            //          catch (Exception)
            //          {

            //          }
            //          return tabela;
            //      }
            /// <summary>
            /// Carregando as informações da tabela para a classe de OS.
            /// </summary>
            /// <param name="ID">I.</param>
            /// 
            public static ModeloOrdemServico Carregar(int ID_OS)
            {
                System.Data.DataTable tabela = new DataTable("OrdemDeServico");
                ModeloOrdemServico OSBase = new ModeloOrdemServico();
                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conexao.ObjetConexao;

                SqlDataAdapter da = new SqlDataAdapter("select ID_OS, IdCliente, Situacao, Garantia, DefeitoRelatado, NumeroDeSerie, Modelo, NumeroOS, DefeitoConstatado, " +
                    "  DataEntradaServico, Observacao, Valor, Descricao from ordemdeservico ", conexao.StringConexao);
                da.Fill(tabela);

                try
                {
                    conexao.Conectar();
                    cmd.ExecuteScalar();
                    conexao.Desconectar();

                    OSBase = PreencherOS(tabela);
                }
                catch (Exception)
                {

                }


                return PreencherOS(tabela); ;
            }


            private static ModeloOrdemServico PreencherOS(DataTable tabela)
            {
                List<string> OSBaseLista = new List<string>();
                ModeloOrdemServico OSBase = new ModeloOrdemServico();
                try
                {
                    foreach (DataRow r in tabela.Rows)
                    {
                        foreach (DataColumn c in tabela.Columns)
                        {
                            OSBaseLista.Add(r[c].ToString());
                        }
                    }

                    OSBase.ID_OS = Convert.ToInt32(OSBaseLista[0]);
                    OSBase.IDCliente = Convert.ToInt32(OSBaseLista[1]);
                    OSBase.Situacao = OSBaseLista[2];
                    OSBase.Garantia = OSBaseLista[3];
                    OSBase.DefeitoRelatado = OSBaseLista[4];
                    OSBase.NumeroSerie = OSBaseLista[5];
                    OSBase.Modelo = OSBaseLista[6];
                    OSBase.NumeroOS = OSBaseLista[7];
                    OSBase.DefeitoConstatado = OSBaseLista[8];
                    OSBase.DataEntradaServico = OSBaseLista[9];
                    OSBase.Observacao = OSBaseLista[10];
                    OSBase.Valor = Convert.ToDecimal(OSBaseLista[11]);
                    OSBase.Descricao = OSBaseLista[12];




                    OSBase.IDCliente = Convert.ToInt32(OSBaseLista[12]);


                }
                catch (Exception)
                {
                }
                OSBaseLista.Clear();

                return OSBase;
            }

            /// <summary>
    /// Retorna um DataTable com todos os ids das Ordens de serviço NÃO FINALIZADAS.
    /// </summary>
    /// <returns>The lista.</returns>
    public static DataTable CarregarListaDeIdsNaoFinalizados()
            {
                DataTable tabela = new DataTable("ordemdeservico");
                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conexao.ObjetConexao;

                try
                {
                    conexao.Conectar();

                    SqlDataAdapter da = new SqlDataAdapter("select ID from ordemdeservico where Situacao <> 'Finalizado'", "Ordemdeservico");
                    da.Fill(tabela);
                }
                catch (Exception)
                {
                }
                return tabela;
            }


            public DataTable Localizar(string valor)
            {
                DataTable tabela = new DataTable();
                SqlDataAdapter da = new SqlDataAdapter("select p.Nome, os.ID_OS, os.NumeroOS,  os.Situacao, os.Garantia, os.DefeitoRelatado, os.NumeroDeSerie, os.Modelo,  os.DefeitoConstatado, os.DataEntradaServico,   " +
                                                          " os.Observacao, os.Valor, os.Descricao from ordemdeservico os inner join Pessoa p  on p.ID_Cli = os.IdCliente where p.Nome like '%" + valor + "%'", conexao.StringConexao);
                da.Fill(tabela);
                return tabela;
            }      
        }

        public class ModeloOrd

    emServico
        {
            public ModeloOrdemServico()
            {
                this.ID_OS = 0;
                this.IDCliente = 0;
                this.Situacao = "";
                this.DefeitoRelatado = "";
                this.DefeitoConstatado = "";
                this.Descricao = "";
                this.Observacao = "";
                this.NumeroSerie = "";
                this.NumeroOS = "";
                this.Modelo = "";
                this.DataEntradaServico = "";
                this.Valor = 0;
                this.Garantia = "";

            }

            public ModeloOrdemServico(int ID_OS, int IDCliente, string Situacao, string DefeitoRelatado, string DefeitoConstatado, string Descricao, string Observacao, string NumeroSerie,
               string NumeroOS, string Modelo, string DataEntradaServico, decimal Valor, string Garantia)
            {
                this.ID_OS = id_os;
                this.IDCliente = IdCliente;
                this.Situacao = situacao;
                this.DefeitoRelatado = defeitoRelatado;
                this.DefeitoConstatado = defeitoConstatado;
                this.Descricao = descricao;
                this.Observacao = observacao;
                this.NumeroSerie = numeroSerie;
                this.NumeroOS = numeroOS;
                this.Modelo = modelo;
                this.DataEntradaServico = dataEntradaServico;
                this.Valor = valor;
                this.Garantia = garantia;
            }
            private int id_os;
            public int ID_OS
            {
                get { return this.id_os; }
                set { this.id_os = value; }
            }
            private int IdCliente;
            public int IDCliente
            {
                get { return this.IdCliente; }
                set { this.IdCliente = value; }
            }

            private string situacao;
            public string Situacao
            {
                get { return this.situacao; }
                set { this.situacao = value; }
            }

            private string defeitoRelatado;
            public string DefeitoRelatado
            {
                get { return this.defeitoRelatado; }
                set { this.defeitoRelatado = value; }
            }

            private string defeitoConstatado;
            public string DefeitoConstatado
            {
                get { return this.defeitoConstatado; }
                set { this.defeitoConstatado = value; }
            }

            private string descricao;
            public string Descricao
            {
                get { return this.descricao; }
                set { this.descricao = value; }
            }

            private string observacao;
            public string Observacao
            {
                get { return this.observacao; }
                set { this.observacao = value; }
            }

            private string numeroSerie;
            public string NumeroSerie
            {
                get { return this.numeroSerie; }
                set { this.numeroSerie = value; }
            }

            private string numeroOS;
            public string NumeroOS
            {
                get { return this.numeroOS; }
                set { this.numeroOS = value; }
            }
            private string modelo;
            public string Modelo
            {
                get { return this.modelo; }
                set { this.modelo = value; }
            }

            private string dataEntradaServico;
            public string DataEntradaServico
            {
                get { return this.dataEntradaServico; }
                set { this.dataEntradaServico = value; }
            }



            private decimal valor;
            public decimal Valor
            {
                get { return this.valor; }
                set { this.valor = value; }
            }

            private string garantia;
            public string Garantia
            {
                get { return this.garantia; }
                set { this.garantia = value; }
            }
        }

    segunda-feira, 5 de novembro de 2018 23:43
  • este é meu form Frm_NovaOS

    public partial class Frm_NovaOS : Form
        {
            public Frm_NovaOS(int ID_OS)
            {
                IDChamado = ID_OS;
                InicializacaoPeloFormularioExterno = true;
                InitializeComponent();
            }
            public int codigo = 0;
            private int IDChamado;       
            private bool InicializacaoPeloFormularioExterno;
            System.Data.DataTable TabelaDeClientes = new System.Data.DataTable();


            // op = operaçoes que serão feitas com os botões
            //1 = prepara os botoes para inserir e localizar
            //2 = prepara os botoes para inserir/alterar registros
            //3 prepara para inserir/excluir um registro
            public void AlteraBotoes(int op)
            {
                //TabControl.Enabled = false;
                Txt_Clientes.Enabled = false;
                Txt_Defeito.Enabled = false;
                Txt_DefeitoCons.Enabled = false;
                Txt_Descricao.Enabled = false;
                Txt_Equipamento.Enabled = false;
                Txt_Nserie.Enabled = false;
                Txt_NumeroOS.Enabled = false;
                Txt_Observacoes.Enabled = false;
                Txt_Situacao.Enabled = false;
                Txt_ValotOrc.Enabled = false;
                Dt_DataEntrada.Enabled = false;
                txt_Data.Enabled = false;

                Btn_Salvar.Enabled = false;
                Btn_Editar.Enabled = false;
                Btn_Excluir.Enabled = false;
                Btn_Cancelar.Enabled = false;

                if (op == 1)
                {
                    Btn_NovaOrdem.Enabled = true;

                }

                if (op == 2)
                {
                    Btn_NovaOrdem.Enabled = true;
                    Btn_Salvar.Enabled = true;
                    Btn_Cancelar.Enabled = true;


                    Txt_Clientes.Enabled = true;
                    Txt_Defeito.Enabled = true;
                    Txt_DefeitoCons.Enabled = true;
                    Txt_Descricao.Enabled = true;
                    //Txt_NumeroOS.Clear();
                    Txt_Equipamento.Enabled = true;
                    Txt_Nserie.Enabled = true;
                    Txt_NumeroOS.Enabled = true;
                    Txt_Observacoes.Enabled = true;
                    Txt_Situacao.Enabled = true;
                    Txt_ValotOrc.Enabled = true;
                    Dt_DataEntrada.Enabled = true;
                    txt_Data.Enabled = true;
                }

                if (op == 3)
                {

                    Btn_Editar.Enabled = true;
                    Btn_NovaOrdem.Enabled = true;
                    Btn_Salvar.Enabled = false;
                    Btn_Cancelar.Enabled = true;
                    Btn_Excluir.Enabled = true;


                    Txt_Clientes.Enabled = true;
                    Txt_Defeito.Enabled = true;
                    Txt_DefeitoCons.Enabled = true;
                    Txt_Descricao.Enabled = true;
                    //Txt_NumeroOS.Clear();
                    Txt_Equipamento.Enabled = true;
                    Txt_Nserie.Enabled = true;
                    Txt_NumeroOS.Enabled = true;
                    Txt_Observacoes.Enabled = true;
                    Txt_Situacao.Enabled = true;
                    Txt_ValotOrc.Enabled = true;
                    Dt_DataEntrada.Enabled = true;
                   
                }

            }
            private void LimparCampos()
            {
                Txt_Clientes.ResetText();
                Dt_DataEntrada.ResetText();
                Txt_Defeito.Clear();
                Txt_Descricao.Clear();
                Txt_Equipamento.Clear();
                Txt_Nserie.Clear();
                Txt_Observacoes.Clear();
                Txt_DefeitoCons.Clear();
                Txt_NumeroOS.Clear();
                Txt_Situacao.ResetText();
                Txt_ValotOrc.Clear();
                txt_Data.ResetText();
            }
           
            private void Frm_NovaOS_Load(object sender, EventArgs e)
            {            
                this.AlteraBotoes(1);
                AualizarGridSemFiltro();

                DateTime dt = DateTime.Now;
                dt = dt.AddDays(90);
                txt_Data.Text = dt.ToString("dd/MM/yy");
                Txt_ValotOrc.Text = decimal.Zero.ToString();
                Dt_DataEntrada.Text = DateTime.Now.ToString("d/M/yy");

                //Preenchendo o ComboBox com o nome de Clientes
                TabelaDeClientes = ControleCliente.CarregarListaDeNomes();

                if (TabelaDeClientes.Rows.Count != 0)
                {
                    foreach (System.Data.DataRow r in TabelaDeClientes.Rows)
                    {
                        foreach (System.Data.DataColumn c in TabelaDeClientes.Columns)
                        {
                            Txt_Clientes.Items.Add(r[c].ToString());
                        }
                    }
                }

                if (InicializacaoPeloFormularioExterno)
                {
                    //Carregando as informações passadas pelo form de listagem de OS.
                    PreencherCamposDeTexto(IDChamado);

                    InicializacaoPeloFormularioExterno = false;
                }
            }

            private void Btn_Salvar_Click(object sender, EventArgs e)
            {
                
                if (ControleCliente.VerificarExistencia(Txt_Clientes.Text))
                {
                    string Retorno = ControleOS.Criar(PreencherOS());

                    MessageBox.Show(String.Format("{0}", Retorno), "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    if (MessageBox.Show("Deseja imprimir  a ordem de serviço?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        
                        //TODO: Função para gerar uma ordem de serviço em PDF Aqui.
                        Warning[] warnings;
                        string[] streamids;
                        string mimeType;
                        string encoding;
                        string extension;
                        ReportViewer reportView = new ReportViewer();
                        reportView.ProcessingMode = ProcessingMode.Local;
                        //Caminho para o relatodio
                        reportView.LocalReport.ReportEmbeddedResource = "View.Relatorio.rdlc";

                        //Parametros
                        List<ReportParameter> listReportParameter = new List<ReportParameter>();
                        listReportParameter.Add(new ReportParameter("NumeroOS", Txt_NumeroOS.Text));
                        listReportParameter.Add(new ReportParameter("Valor", Txt_ValotOrc.Text));
                        listReportParameter.Add(new ReportParameter("Garantia", txt_Data.Text));
                        listReportParameter.Add(new ReportParameter("Cliente", Txt_Clientes.Text));
                        listReportParameter.Add(new ReportParameter("Situacao", Txt_Situacao.Text));
                        listReportParameter.Add(new ReportParameter("Modelo", Txt_Equipamento.Text));
                        listReportParameter.Add(new ReportParameter("NumeroSerie", Txt_Nserie.Text));
                        listReportParameter.Add(new ReportParameter("DataEntrada", Dt_DataEntrada.Text));
                        listReportParameter.Add(new ReportParameter("Observacao", Txt_Observacoes.Text));
                        listReportParameter.Add(new ReportParameter("DefeitoRelafado", Txt_Defeito.Text));
                        listReportParameter.Add(new ReportParameter("DefeitoConstatado", Txt_DefeitoCons.Text));
                        listReportParameter.Add(new ReportParameter("Descricao", Txt_Descricao.Text));


                        reportView.LocalReport.SetParameters(listReportParameter);

                            byte[] bytePDF = reportView.LocalReport.Render(
                                "Pdf", null, out mimeType, out encoding, out extension, out streamids, out warnings);

                            FileStream fileStreamPDF = null;
                            string OrdemServicoPDF = Path.GetTempPath() + "OrdemDeServico" + DateTime.Now.ToString("dd_MM_yyyy-HH_mm_ss") + ".pdf";

                            fileStreamPDF = new FileStream(OrdemServicoPDF, FileMode.Create);
                            fileStreamPDF.Write(bytePDF, 0, bytePDF.Length);
                            fileStreamPDF.Close();
                            Process.Start(OrdemServicoPDF);
                        
                    }
                    this.AlteraBotoes(1);
                    LimparCampos();
                    AualizarGridSemFiltro();
                }
                else
                {
                    MessageBox.Show("Selecione um cliente!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            private void Txt_Clientes_TextUpdate(object sender, EventArgs e)
            {
                Txt_Clientes.Items.Clear();

                if (TabelaDeClientes.Rows.Count != 0)
                {
                    foreach (System.Data.DataRow r in TabelaDeClientes.Rows)
                    {
                        foreach (System.Data.DataColumn c in TabelaDeClientes.Columns)
                        {
                            if (r[c].ToString().Trim().Contains(Txt_Clientes.Text.Trim()))
                            {
                                Txt_Clientes.Items.Add(r[c].ToString());
                            }
                        }
                    }

                    //Move o cursor para o Fim do combobox.
                    Txt_Clientes.SelectionStart = Txt_Clientes.Text.ToString().Length;
                }
            }
            private void Btn_NovaOrdem_Click_1(object sender, EventArgs e)
            {
                LimparCampos();
                Txt_ValotOrc.Text = decimal.Zero.ToString();
                Random R = new Random();
                Txt_NumeroOS.Text = R.Next(99999).ToString();
                DateTime dt = DateTime.Now;
                dt = dt.AddDays(90);
                txt_Data.Text = dt.ToString("dd/MM/yy");
                this.AlteraBotoes(2);
                //ArrayList arrTipo = new ArrayList();

                //arrTipo = new ArrayList();
                //arrTipo.Add(new ModeloServicoOrd.("Orçamento", 0, "Orçamento"));
                //arrTipo.Add(new ModeloServicoOrd.("Manutenção", 1, "Manutenção"));
                //arrTipo.Add(new ModeloServicoOrd.("Finalizado", 2, "Finalizado"));

                //comboVersaoNfe.DataSource = arrTipo;
                //comboVersaoNfe.DisplayMember = "valor";
                //comboVersaoNfe.ValueMember = "ID_Tr";
            }
     

            private void Btn_Cancelar_Click(object sender, EventArgs e)
            {
                
                Txt_NumeroOS.Clear();
                this.LimparCampos();
                this.AlteraBotoes(1);
            }

            private void BtnAtualizaList_Click(object sender, EventArgs e)
            {
                Txt_Pesquisar.Clear();
                AualizarGridSemFiltro();
                this.Data_Os.Update();
                this.Data_Os.Refresh();
            }

            private void AualizarGridSemFiltro()
            {
                Data_Os.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

                Data_Os.DataSource = ControleOS.CarregarLista();

                Data_Os.Columns[0].HeaderText = "ID";
                Data_Os.Columns[0].Width = 50;
                Data_Os.Columns[1].HeaderText = "Numero OS";
                Data_Os.Columns[1].Width = 110;
                Data_Os.Columns[2].HeaderText = " Cliente";
                Data_Os.Columns[2].Width = 120;
                Data_Os.Columns[3].HeaderText = " Situação";
                Data_Os.Columns[3].Width = 100;
                Data_Os.Columns[4].HeaderText = " Garantia";
                Data_Os.Columns[4].Width = 90;
                Data_Os.Columns[5].HeaderText = " Defeito Rel";
                Data_Os.Columns[5].Width = 120;
                Data_Os.Columns[6].HeaderText = " Nº Série";
                Data_Os.Columns[6].Width = 100;
                Data_Os.Columns[7].HeaderText = " Modelo ";
                Data_Os.Columns[7].Width = 100;
                Data_Os.Columns[8].HeaderText = " Defeito Const";
                Data_Os.Columns[8].Width = 140;
                Data_Os.Columns[9].HeaderText = " Entrada";
                Data_Os.Columns[9].Width = 90;
                Data_Os.Columns[10].HeaderText = " Observações";
                Data_Os.Columns[10].Width = 120;
                Data_Os.Columns[11].HeaderText = " Valor";
                Data_Os.Columns[11].Width = 70;
                Data_Os.Columns[12].HeaderText = " Descrição";
                Data_Os.Columns[12].Width = 120;

            }

            private void Data_Os_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
            {
                this.AlteraBotoes(1);
                Txt_NumeroOS.Text = Data_Os.Rows[e.RowIndex].Cells["NumeroOS"].Value.ToString();
                Txt_Clientes.Text = Data_Os.Rows[e.RowIndex].Cells["Nome"].Value.ToString();
                Txt_Situacao.Text = Data_Os.Rows[e.RowIndex].Cells["Situacao"].Value.ToString();
                txt_Data.Text = Data_Os.Rows[e.RowIndex].Cells["Garantia"].Value.ToString();
                Txt_Defeito.Text = Data_Os.Rows[e.RowIndex].Cells["DefeitoRelatado"].Value.ToString();
                Txt_Nserie.Text = Data_Os.Rows[e.RowIndex].Cells["NumeroDeSerie"].Value.ToString();
                Txt_Equipamento.Text = Data_Os.Rows[e.RowIndex].Cells["Modelo"].Value.ToString();
                Txt_DefeitoCons.Text = Data_Os.Rows[e.RowIndex].Cells["DefeitoConstatado"].Value.ToString();
                Dt_DataEntrada.Text = Data_Os.Rows[e.RowIndex].Cells["DataEntradaServico"].Value.ToString();
                Txt_Observacoes.Text = Data_Os.Rows[e.RowIndex].Cells["Observacao"].Value.ToString();
                Txt_ValotOrc.Text = Data_Os.Rows[e.RowIndex].Cells["Valor"].Value.ToString();
                Txt_Descricao.Text = Data_Os.Rows[e.RowIndex].Cells["Descricao"].Value.ToString();
                Txt_IDPesquisa.Text = Data_Os.Rows[e.RowIndex].Cells["ID_OS"].Value.ToString();

                //ou
                //Txt_Clientes.Text = Data_Os["Nome", e.RowIndex].Value.ToString();
            }

            private void Btm_Carregar_Click(object sender, EventArgs e)
            {
                this.AlteraBotoes(3);
            }

            private void PreencherCamposDeTexto(int id_os)
            {
                ModeloOrdemServico InformacoesOrdemDeServico = new ModeloOrdemServico();
                InformacoesOrdemDeServico = ControleOS.Carregar(id_os);

                Txt_IDPesquisa.Text = Convert.ToString(InformacoesOrdemDeServico.ID_OS);
                Txt_Clientes.Text = InformacoesOrdemDeServico.IDCliente.ToString();
                Txt_Situacao.Text = InformacoesOrdemDeServico.Situacao.ToString();
                txt_Data.Text = InformacoesOrdemDeServico.Garantia.ToString();
                Txt_Defeito.Text = InformacoesOrdemDeServico.DefeitoRelatado.ToString();
                Txt_DefeitoCons.Text = InformacoesOrdemDeServico.DefeitoConstatado.ToString();
                Txt_Descricao.Text = InformacoesOrdemDeServico.Descricao.ToString();
                Txt_Observacoes.Text = InformacoesOrdemDeServico.Observacao.ToString();
                Txt_Nserie.Text = InformacoesOrdemDeServico.NumeroSerie.ToString();
                Txt_NumeroOS.Text = InformacoesOrdemDeServico.NumeroOS.ToString();
                Txt_Equipamento.Text = InformacoesOrdemDeServico.Modelo.ToString();
                Dt_DataEntrada.Text = InformacoesOrdemDeServico.DataEntradaServico.ToString();
                Txt_ValotOrc.Text = Convert.ToString(InformacoesOrdemDeServico.Valor);
                Txt_Descricao.Text = InformacoesOrdemDeServico.Descricao.ToString();

                Txt_Clientes.Text = ControleCliente.VerificarNome(InformacoesOrdemDeServico.IDCliente);

            }

            private ModeloOrdemServico PreencherOS()
            {
                DALConexao cx = new DALConexao(DadosDaConexao.StringDaConexao);
                ModeloOrdemServico OSBase = new ModeloOrdemServico();
                OSBase.ID_OS = Convert.ToInt32(Txt_IDPesquisa.Text);
                OSBase.IDCliente = ControleCliente.VerificarID(Txt_Clientes.Text);
                OSBase.DataEntradaServico = Dt_DataEntrada.Text;
                OSBase.Garantia = txt_Data.Text;
                OSBase.Descricao = Txt_Descricao.Text;
                OSBase.Modelo = Txt_Equipamento.Text;
                OSBase.DefeitoRelatado = Txt_Defeito.Text;
                OSBase.DefeitoConstatado = Txt_DefeitoCons.Text;
                OSBase.NumeroSerie = Txt_Nserie.Text;
                OSBase.Observacao = Txt_Observacoes.Text;
                OSBase.NumeroOS = Txt_NumeroOS.Text;
                OSBase.Situacao = Txt_Situacao.Text;
                //if (Txt_ValotOrc.Text == "")
                //{
                //    Txt_ValotOrc.Text = "0,00";
                //}
                OSBase.Valor = Convert.ToDecimal(Txt_ValotOrc.Text);
                return OSBase;
            }


            private void Btn_Editar_Click(object sender, EventArgs e)
            {
                //ArrayList arrTipo = new ArrayList();

                //arrTipo = new ArrayList();
                //arrTipo.Add(new ModeloServicoOrd("Orçamento", 0, "Orçamento"));
                //arrTipo.Add(new ModeloServicoOrd("Manutenção", 1, "Manutenção"));

                //Txt_Situacao.DataSource = arrTipo;
                //Txt_Situacao.DisplayMember = "Situacao";
                //Txt_Situacao.ValueMember = "idordemdeservico";

                if (ControleCliente.VerificarExistencia(Txt_Clientes.Text))
                {
                    string Retorno = ControleOS.Editar(PreencherOS());
                   

                    MessageBox.Show(String.Format("{0}", Retorno), "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    if (MessageBox.Show("Deseja imprimir o arquivo?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        //TODO: Função para gerar uma ordem de serviço em PDF Aqui.
                    }
                    AualizarGridSemFiltro();
                    this.LimparCampos();
                    this.AlteraBotoes(1);

                }
                else
                {
                    MessageBox.Show(String.Format("Verifique o nome do cliente"), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
            }

            private void Btn_Excluir_Click(object sender, EventArgs e)
            {
                if (!String.IsNullOrEmpty(Txt_IDPesquisa.Text))
                {
                    if (MessageBox.Show("Você realmente deseja excluir?", "Excluir?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)//Verifica se a pessoa quer realmente excluir a Ormde de serviço.
                    {
                        string saida = ControleOS.Deletar(Convert.ToInt32(Txt_IDPesquisa.Text));

                        MessageBox.Show(saida, "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }

                    AualizarGridSemFiltro();
                    this.LimparCampos();
                    this.AlteraBotoes(1);
                }
                else
                {
                    MessageBox.Show("Insira um valor", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }      

            private void Txt_Pesquisar_TextChanged(object sender, EventArgs e)
            {
                DALConexao cx = new DALConexao(DadosDaConexao.StringDaConexao);
                ControleOS bll = new ControleOS(cx);
                Data_Os.DataSource = bll.Localizar(Txt_Pesquisar.Text);
            }

            private void Btn_Impeimir_Click(object sender, EventArgs e)
            {
                Warning[] warnings;
                string[]  streamids;
                string mimeType;
                string encoding;
                string extension;
                ReportViewer reportView = new ReportViewer();
                reportView.ProcessingMode = ProcessingMode.Local;
                //Caminho para o relatodio
                reportView.LocalReport.ReportEmbeddedResource = "View.Relatorio.rdlc";

                //Parametros
                List<ReportParameter> listReportParameter = new List<ReportParameter>();
                listReportParameter.Add(new ReportParameter("NumeroOS", Txt_NumeroOS.Text));
                listReportParameter.Add(new ReportParameter("Valor", Txt_ValotOrc.Text));
                listReportParameter.Add(new ReportParameter("Garantia", txt_Data.Text));
                listReportParameter.Add(new ReportParameter("Cliente", Txt_Clientes.Text));
                listReportParameter.Add(new ReportParameter("Situacao", Txt_Situacao.Text));
                listReportParameter.Add(new ReportParameter("Modelo", Txt_Equipamento.Text));
                listReportParameter.Add(new ReportParameter("NumeroSerie", Txt_Nserie.Text));
                listReportParameter.Add(new ReportParameter("DataEntrada", Dt_DataEntrada.Text));
                listReportParameter.Add(new ReportParameter("Observacao", Txt_Observacoes.Text));
                listReportParameter.Add(new ReportParameter("DefeitoRelafado", Txt_Defeito.Text));
                listReportParameter.Add(new ReportParameter("DefeitoConstatado", Txt_DefeitoCons.Text));
                listReportParameter.Add(new ReportParameter("Descricao", Txt_Descricao.Text));
                //listReportParameter.Add(new ReportParameter("Santa Rosa", Txt_Clientes.Text));

                reportView.LocalReport.SetParameters(listReportParameter);
                if (rbPDF.Checked == true)
                {
                    byte[] bytePDF = reportView.LocalReport.Render(
                        "Pdf", null, out mimeType, out encoding, out extension, out streamids, out warnings);

                    FileStream fileStreamPDF = null;
                    string OrdemServicoPDF = Path.GetTempPath() + "OrdemDeServico" + DateTime.Now.ToString("dd_MM_yyyy-HH_mm_ss") + ".pdf";

                    fileStreamPDF = new FileStream(OrdemServicoPDF, FileMode.Create);
                    fileStreamPDF.Write(bytePDF, 0, bytePDF.Length);
                    fileStreamPDF.Close();
                    Process.Start(OrdemServicoPDF);
                }
                else
                {
                    //Abrir em excel
                    byte[] byteExcel = reportView.LocalReport.Render(
                        "Excel", null, out mimeType, out encoding, out extension, out streamids, out warnings);

                    FileStream fileStreamExcel = null;
                    string OrdemServicoExcel = Path.GetTempPath() + "OrdemDeServico" + DateTime.Now.ToString("dd_MM_yyyy-HH_mm_ss") + ".xls";

                    fileStreamExcel = new FileStream(OrdemServicoExcel, FileMode.Create);
                    fileStreamExcel.Write(byteExcel, 0, byteExcel.Length);
                    fileStreamExcel.Close();
                    Process.Start(OrdemServicoExcel);
                }
            }

            private void Btn_FinalizarOS_Click(object sender, EventArgs e)
            {
                if (!String.IsNullOrEmpty(Txt_Clientes.Text))
                {
                    String saida = ControleOS.FinalizarOS(PreencherTrabalho());

                    MessageBox.Show(saida, "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    //Txt_IDPesquisa.Items.Clear();
                    //Txt_Descricao.Clear();
                    //Txt_ValotOrc.Clear();

                    atualizarListaDeOS();
                }
                else
                {
                    MessageBox.Show("Escolha uma ordem de serviço!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

            /// <summary>
            /// Carregando o nome de todos os serviços e os adicionando no combo Box(Txt_Servicos).
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            //private void Frm_Servico_Load(object sender, EventArgs e)
            //{
            //    atualizarListaDeOS();
            //}

            private void atualizarListaDeOS()
            {
                System.Data.DataTable TabelaOS = new System.Data.DataTable();

                TabelaOS = ControleOS.CarregarListaDeIdsNaoFinalizados();

                foreach (System.Data.DataRow r in TabelaOS.Rows)
                {
                    foreach (System.Data.DataColumn c in TabelaOS.Columns)
                    {
                        Txt_IDPesquisa.Items.Add(r[c].ToString());
                    }
                }
            }

            /// <summary>
            /// Preenchendo uma classe trabalho com as informações do Form.
            /// </summary>
            /// <returns>The trabalho.</returns>
            private ModeloServicoOrd PreencherTrabalho()
            {
                ModeloServicoOrd ServicoBase = new ModeloServicoOrd();

                ServicoBase.IdOrdemServico = Convert.ToInt32(Txt_IDPesquisa.Text);
                ServicoBase.Valor = Convert.ToDecimal(Txt_ValotOrc.Text);
                ServicoBase.Descricao = Txt_Descricao.Text;

                return ServicoBase;
            }
            private void Txt_ValotOrc_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (!char.IsDigit(e.KeyChar))//Verifica se é numero
                {
                    if (!(e.KeyChar == ',')) //Verifica se é Vírgula.
                    {
                        e.Handled = true;
                    }
                }
            }
    segunda-feira, 5 de novembro de 2018 23:45
  • Olá Titodj7,

    se é na lógica de ocultar o item "Finalizado" no comboBox, eu sigo a idéa dos outros colega mas simplificando mais o código, ou seja tu deves popular os itens o comboBox em tempo de execução, terá dois métodos, o primeiro é que carrega no load do form por exemplo e o segundo, quando clica para editar é que carrega todos os itens. Aqui segue o código:

            private void FillPartialItemsCombo()
            {
                comboBox1.Items.Clear();
                comboBox1.Items.Add("Orçamento");
                comboBox1.Items.Add("Manutenção");
            }

            private void FillFullItemsCombo()
            {
                comboBox1.Items.Clear();
                comboBox1.Items.Add("Orçamento");
                comboBox1.Items.Add("Manutenção");
                comboBox1.Items.Add("Finalizado");
            }

    Espero que te foi útil.

    terça-feira, 6 de novembro de 2018 05:59