none
Consulta... RRS feed

  • Pergunta

  • Estava tentar fazer uma consulta em c# 2012 utilizando o controlo DataGridView por ordem Data ou Código Armazém...  Efetuar ele esta a Efetuar mas a minha ideia é quando eu consultar por data e depois consultar por armazém o datagridview deve ser limpo apresentar simplesmente a consulta por armazém. Só que quando eu consulto por Data e apresenta o resultado ali eu estou na boa, mas quando consulto por armazém ele acopula as duas consulta isto é a primeira e a segunda consulta mesmo utilizando a propriedade dagridview.Datasource =null. apostem ali no código:

                    

    if (radioButton1.Checked == true)
                    {

                        if (dataGridView1.DataSource == null)
                        {
                            dataGridView1.DataSource = null;
                            try
                            {                          
                                a.comando = new SqlCommand("Select CodigoC,CodigoP,CodigoF,Quantidade,Preco,Total,CodigoA,Data From Compra Where CodigoA ='" + cboCodigoArmazem.Text + "'", a.conexao);
                                a.conexao.Open();
                                a.seleccione = new SqlDataAdapter(a.comando);
                                a.seleccione.Fill(tabela, "Compra");
                                //dataGridView1.DataMember = "Compra";
                                //dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Fuchsia;
                                dataGridView1.DataSource = tabela.Tables["Compra"];
                                a.conexao.Close();
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.ToString());
                            }
                        }

                    }
                    else if (radioButton2.Checked == true)
                    {

                        dataGridView1.DataSource = null;
                        if (dataGridView1.DataSource == null)
                        {
                            try
                            {
                                a.comando = new SqlCommand("Select CodigoC,CodigoP,CodigoF,Quantidade,Preco,Total,CodigoA,Data From Compra Where Data ='" + dateTimePicker1.Text + "'", a.conexao);
                                a.conexao.Open ();
                                a.seleccione = new SqlDataAdapter(a.comando);
                                a.seleccione.Fill(tabela, "Compra");
                                //dataGridView1.DataMember = "Compra";
                                //dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Fuchsia;
                                dataGridView1.DataSource = tabela.Tables["Compra"];
                                a.conexao.Close();
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.ToString());
                            }
                        }
                    }

    OBS: Aqui tenho os eventos do RadioButton

     private void radioButton1_CheckedChanged(object sender, EventArgs e)
            {
                cboCodigoArmazem.Enabled = true;
                cboCodigoFornecedor.SelectedItem = null;
                cboCodigoProduto.SelectedItem = null;
                dateTimePicker1.Value = DateTime.Now.Date;
                cboCodigoFornecedor.Enabled = false;
                cboCodigoProduto.Enabled = false;
                dateTimePicker1.Enabled = false;
            }

            private void radioButton2_CheckedChanged(object sender, EventArgs e)
            {
                dateTimePicker1.Enabled = true;
                cboCodigoArmazem.SelectedItem = null;
                cboCodigoFornecedor.SelectedItem = null;
                cboCodigoProduto.SelectedItem = null;
                cboCodigoArmazem.Enabled = false;
                cboCodigoFornecedor.Enabled = false;
                cboCodigoProduto.Enabled = false;            
            }

      
    terça-feira, 11 de novembro de 2014 00:18

Todas as Respostas

  • Amigo utilize o código abaixo no lugar do "dataGridView1.DataSource = null;" , segue:

    dataGridView1.Rows.Clear();
    dataGridView1.Refresh();

    Espero ter ajudado!


    Não esqueça de marcar como útil uma resposta que te ajude.
    "A diversão é a alma do negócio"

    terça-feira, 11 de novembro de 2014 01:49
  • Amigo utilize o código abaixo no lugar do "dataGridView1.DataSource = null;" , segue:

    dataGridView1.Rows.Clear();
    dataGridView1.Refresh();

    Espero ter ajudado!


    Não esqueça de marcar como útil uma resposta que te ajude.
    "A diversão é a alma do negócio"

    Nada Lucas não pegou...
    quarta-feira, 12 de novembro de 2014 21:53