none
Chamando StoredProcedure com C# para mostrar numa TabPage do TabControl RRS feed

  • Pergunta

  • Boa Tarde minha gente.

    Pretendo mostrar o meu datagridview num tabPage dentro do TabControl e simplesmente não me mostra o datagridview. Aqui vai meu código para análise...

     public partial class Balancetes : Form
        {
            
            public Balancetes()
            {
                InitializeComponent();           
            }        
            private void Balancetes_Load(object sender, EventArgs e)
            {
                //this.tabRazao.Controls.Add(dataGridRazao);
                preencherRazao();
                preencherRazaoAnalitico();
            }        
            //Preencher o Razão Com Uma Stored Procedure
            public void preencherRazao()
            {
               //
               SqlConnection con = new SqlConnection("Data Source=.\\MSQLEXPRESS1;AttachDbFilename=D:\\ContasEmDia_VX\\ContasEmDia_VX\\ContaEmDia.mdf;Integrated Security=True;User Instance=True");
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = con;
                cmd.CommandText = "BalanceteSintetico";
                cmd.CommandType = CommandType.StoredProcedure;
                //cmd.Parameters.Add("@CustomerID", SqlDbType.NVarChar, 5).Value = "";
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = cmd;
                DataSet ds = new DataSet();
                con.Open();
                MessageBox.Show("Recupera as linhas da tabela Movimentos");
                int numberOfRows = da.Fill(ds, "BalanceteSintetico");
                MessageBox.Show("Número total de linhas é = " + numberOfRows);
                con.Close();
                DataTable dt = new DataTable();
                dataGridRazaoAnalitico.DataSource = ds.Tables["BalanceteSintetico"];
                formatadataGridRazao();
                //
                foreach (DataRow myDataRow in dt.Rows)
                {
    
                    MessageBox.Show("Conta = " + myDataRow["Conta"]);
                    MessageBox.Show("Débito = " + myDataRow["Débito"]);
                    MessageBox.Show("Crédito = " + myDataRow["Crédito"]);
                }        
            } 
            //Configura a grelha de Visualização
            private void formatadataGridRazao()
            {
    
                var gdv = dataGridRazao;
                gdv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
                //gdvCli.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;
                //altera a cor das linhas alternadas no grid
                gdv.RowsDefaultCellStyle.BackColor = Color.White;
                gdv.AlternatingRowsDefaultCellStyle.BackColor = Color.White;
    
                //altera o nome das colunas
                gdv.Columns[0].HeaderText = "Código";            
                gdv.Columns[1].HeaderText = "Conta";
                gdv.Columns[2].HeaderText = "Débito";
                gdv.Columns[3].HeaderText = "Crédito";
                gdv.Columns[4].HeaderText = "Saldo Devedor";
                gdv.Columns[5].HeaderText = "Saldo Crédor";
    
                gdv.Columns[0].Width = 55;
                gdv.Columns[1].Width = 500;
                gdv.Columns[2].Width = 140;
                gdv.Columns[3].Width = 140;
                gdv.Columns[4].Width = 140;
                gdv.Columns[5].Width = 140;
                //Alinha os dados a Direita
                gdv.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight;
                gdv.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight;
                gdv.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight;
                gdv.Columns[5].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight;
                //Formata a Moeda
                gdv.Columns[2].DefaultCellStyle.Format = "c";
                gdv.Columns[3].DefaultCellStyle.Format = "c";
                gdv.Columns[4].DefaultCellStyle.Format = "c";
                gdv.Columns[5].DefaultCellStyle.Format = "c";
                //seleciona a linha inteira
                gdv.SelectionMode = DataGridViewSelectionMode.CellSelect;
                //não permite seleção de multiplas linhas
                gdv.MultiSelect = false;
                // exibe nulos formatados
                gdv.DefaultCellStyle.NullValue = " ";
                //permite que o texto maior que célula não seja truncado
                gdv.DefaultCellStyle.WrapMode = DataGridViewTriState.True;            
            }
    }

    NekFred,Lda

    terça-feira, 29 de novembro de 2016 12:58

Respostas

Todas as Respostas

  • Você inseriu as linhas

    gdv.DataSource = seu_data_set;
    gdv.DataBind();

    Junior


    terça-feira, 29 de novembro de 2016 13:51
  • Muito Obrigado Junior

    Realmente estava a cometer erro na atribuição do :

     dataGridRazaoAnalitico.DataSource = ds.Tables["BalanceteSintetico"];

    alterei para 

    dataGridRazaoSentetico.DataSource = ds.Tables["BalanceteSintetico"], logo resolveu.

    Obrigado pela a ajuda resposta Valida a sua.


    NekFred,Lda

    quinta-feira, 1 de dezembro de 2016 10:14