none
imprimir pedido / orçamento com varios itens c# RRS feed

  • Discussão Geral

  • Estou com um pequeno grande problema, fiz um formulário de Pedido/Orçamento ... estava tudo pronto inclusive impressão... mas surgiu um problema... meu pedido/orçamento insere inúmeros itens ... mas na folha cabe apenas 20... montei tudo certo... mas quando tem 21 itens vira uma bagunça...

    segue o código abaixo...

    publicintespaco = 0;
    publicinttotitem = 0;publicintlinhaHorizontal = 0;
    publicintnumItem = 0;

    privatevoidimp_Pagina(objectsender, PrintPageEventArgse)

    {

    inti = 0;

    cabecalho_Padrao(e);

    dados_Pedido(e);

    // Retangulo dos Itens do Pedido

    e.Graphics.DrawRectangle(Pens.Black, 20, 480, 760, 402);

    // e.Graphics.DrawRectangle(Pens.Black, 21, 481, 758, 400);

    StringFormatformat = newStringFormat();

    format.Alignment = StringAlignment.Far;

    while( i <= Convert.ToInt32(this.txtbox_totalItensPedido.Text))

    {

    // MessageBox.Show("TOTAL DE ITENS: " + txtbox_totalItensPedido.Text + "...numItem: " + numItem.ToString() +"...Tente novamente!...", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);

    if(numItem == 20)

    {

    MessageBox.Show("nº do Item: "+ numItem.ToString() + "...Tente novamente!...", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);

    espaco = 0;

    e.HasMorePages = true;

    }

    //************ Rodape com Totalização

    if(numItem == Convert.ToInt32(txtbox_totalItensPedido.Text))

    {

    // MessageBox.Show("nº do Item: " + numItem.ToString() + "TOTAL DE ITENS: " + txtbox_totalItensPedido.Text + "...numItem == Convert.ToInt32(txtbox_totalItensPedido.Text..", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);

    break;

    }

    // Nº do Item

    e.Graphics.DrawString(dgv_ItensPedido.Rows[i].Cells[1].Value.ToString().PadLeft(2, '0').Substring(0, 2), Fonte_TimeNewRoman_10_Regular, Brushes.Black, 28, 485 + espaco);

    //*** Codigo Produto

    e.Graphics.DrawString(dgv_ItensPedido.Rows[i].Cells[2].Value.ToString().PadLeft(6, '0').Substring(0, 6), Fonte_TimeNewRoman_10_Regular, Brushes.Black, 60, 485 + espaco);

    //*** Descrição

    e.Graphics.DrawString(dgv_ItensPedido.Rows[i].Cells[3].Value.ToString(), Fonte_TimeNewRoman_10_Regular, Brushes.Black, 115, 485 + espaco);

    //*** Unidade

    e.Graphics.DrawString(dgv_ItensPedido.Rows[i].Cells[4].Value.ToString(), Fonte_TimeNewRoman_10_Regular, Brushes.Black, 480, 485 + espaco);

    //*** Qtdade

    e.Graphics.DrawString(dgv_ItensPedido.Rows[i].Cells[6].Value.ToString(), Fonte_TimeNewRoman_10_Regular, Brushes.Black, 560, 485 + espaco, format);

    //*** Vol.

    e.Graphics.DrawString(dgv_ItensPedido.Rows[i].Cells[7].Value.ToString(), Fonte_TimeNewRoman_10_Regular, Brushes.Black, 595, 485 + espaco, format);

    //*** Vlr. Unitario

    e.Graphics.DrawString(double.Parse(dgv_ItensPedido.Rows[i].Cells[8].Value.ToString()).ToString("N2").ToString(), Fonte_TimeNewRoman_10_Regular, Brushes.Black, 675, 485 + espaco, format);

    //*** Valor Total

    e.Graphics.DrawString(double.Parse(dgv_ItensPedido.Rows[i].Cells[9].Value.ToString()).ToString("N2").ToString(), Fonte_TimeNewRoman_10_Regular, Brushes.Black, 770, 485 + espaco, format);

    // Linha Reta Horizontal

    e.Graphics.DrawLine(CanetaDaImpressora, 20, 500 + espaco, 780, 500 + espaco);

    espaco += 20;

    numItem += 1;

    i++;

    }

    e.Graphics.DrawString(txtbox_totalItensPedido.Text, Fonte_TimeNewRoman_11_Bold, Brushes.Black, 50, 905);

    e.Graphics.DrawString(txtbox_totalVolume.Text, Fonte_TimeNewRoman_11_Bold, Brushes.Black, 140, 905);

    // e.Graphics.DrawString(txtbox_pesoBruto.Text + " Kg", Fonte_TimeNewRoman_11_Bold, Brushes.Black, 240, 905);

    e.Graphics.DrawString(txtbox_pesoLiquido.Text + " Kg", Fonte_TimeNewRoman_11_Bold, Brushes.Black, 370, 905);

    e.Graphics.DrawString("Total Geral: "+ txtbox_vlr_totalPedido.Text, Fonte_nome_Empresa, Brushes.Black, 490, 895);

    e.Graphics.DrawString("Observações: "+ txtbox_observacoes.Text, Fonte_TimeNewRoman_10_Regular, Brushes.Black, 28, 950);

    }


    segunda-feira, 28 de agosto de 2017 17:58