none
combobox colocar todos c# RRS feed

  • Pergunta

  • Tenho um comando que puxa dados do meu banco na combobox

            private void CarregaEmpresa()
            {
                SqlConnection conexao = clsdb.AbreBanco();
    
                SqlCommand comando = new SqlCommand();
                comando.Connection = conexao;
                comando.CommandType = CommandType.Text;
                comando.CommandText = "Select * from empresa";
    
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = comando;
    
                DataSet ds = new DataSet();
                da.Fill(ds);
    
                comboBox1.DataSource = ds.Tables[0];
                comboBox1.DisplayMember = "razao_social";
                comboBox1.ValueMember = "id";
            }

    Assim ele lista as empresas cadastradas, só que quero colocar "todas" na combobox, tentei o comando abaixo mais não deu certo

       private void FormEmpresa_Load(object sender, EventArgs e)
            {
                CarregaEmpresa();
                comboBox1.Items.Add("Todos");
            }

    O que posso fazer ?


    Atenciosamente,
    José Henrique Sabino

    segunda-feira, 31 de agosto de 2015 17:52

Respostas

  • Na verdade voce tem que fazer isso no carrega empresa.

    Voce tem que modificar a query deste jeito:

    Select -1 as id,'(Todas)' as razao_social union
    Select id,razao_social from empresa

    O codigo final fica assim:

        private void CarregaEmpresa()
            {
                SqlConnection conexao = clsdb.AbreBanco();
    
                SqlCommand comando = new SqlCommand();
                comando.Connection = conexao;
                comando.CommandType = CommandType.Text;
                comando.CommandText = "
    Select -1 as id,'(Todas)' as razao_social union
    Select id,razao_social from empresa"; //uniao de um texto fixo com sua base
    
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = comando;
    
                DataSet ds = new DataSet();
                da.Fill(ds);
    
                comboBox1.DataSource = ds.Tables[0];
                comboBox1.DisplayMember = "razao_social";
                comboBox1.ValueMember = "id";
            }


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------



    segunda-feira, 31 de agosto de 2015 18:21
    Moderador

Todas as Respostas

  • Boas, nesse ultimo trecho de código a única coisa que faz é adiciona "Todos" ao combobox.
    segunda-feira, 31 de agosto de 2015 18:15
  • Mais qual comando utilizo, esse que tentei ai não deu certo

        comboBox1.Items.Add("Todos");


    Atenciosamente,
    José Henrique Sabino

    segunda-feira, 31 de agosto de 2015 18:18
  • Na verdade voce tem que fazer isso no carrega empresa.

    Voce tem que modificar a query deste jeito:

    Select -1 as id,'(Todas)' as razao_social union
    Select id,razao_social from empresa

    O codigo final fica assim:

        private void CarregaEmpresa()
            {
                SqlConnection conexao = clsdb.AbreBanco();
    
                SqlCommand comando = new SqlCommand();
                comando.Connection = conexao;
                comando.CommandType = CommandType.Text;
                comando.CommandText = "
    Select -1 as id,'(Todas)' as razao_social union
    Select id,razao_social from empresa"; //uniao de um texto fixo com sua base
    
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = comando;
    
                DataSet ds = new DataSet();
                da.Fill(ds);
    
                comboBox1.DataSource = ds.Tables[0];
                comboBox1.DisplayMember = "razao_social";
                comboBox1.ValueMember = "id";
            }


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------



    segunda-feira, 31 de agosto de 2015 18:21
    Moderador
  • Deu certinho William, vlw cara

    Atenciosamente,
    José Henrique Sabino


    segunda-feira, 31 de agosto de 2015 18:47