none
Como imprimir no C# 2008 Express RRS feed

  • Pergunta

  • Boa tarde Pessoal!

    Pesquisei e encontrei apenas um modo de imprimir relatórios que é através do ASP.NET com o uso do C#, porém descobri algo mais simples e prático que é copiar os dados do DataGridView e colar no Excel. Eu gostaria de automatizar isto, mas não saberia como escrever uma rotina destas:

    Criei um Windows Form no C# e coloquei um TabControl. Na tabPage1 queria colocar uns CheckBox com as opções de campos de uma tabela do SQL Server 2008 Express. O usuário final ao escolher os campos que deseja imprimir, clicaria no botão visualizar. A rotina do botão executaria um Select com apenas os campos selecionados e com critérios selecionados no tabPage1. Daí ele seria levado para a tabPage2 e no DataGridView seria mostrado apenas aqueles campos selecionados e com base nos critérios que optou. No tabPage2 ao clicar no botão imprimir, a rotina iria selecionar todos os dados apresentados no dataGrid e os colocaria no Clipboard. Para completar, abriria o Excel e colaria os dados em uma planilha como texto Unicode.

    Para vcs. que são expert no assunto deve ser moleza criar um código completo e disponibilizar aqui. Ajudaria muita gente e a mim também. Fazer no ASP é mais trabalhoso e seria relatórios padrão, desta forma que proponho vc. pode fazer um relatório com a informação que precisar.

    Antecipadamente grato pela atenção

    Paulo Rocha


    parole Sql



    • Editado Parolima sexta-feira, 10 de fevereiro de 2012 17:18
    sexta-feira, 10 de fevereiro de 2012 17:13

Respostas

  • Boa tarde.

    Toda esta sua rotina já existe, voce pode usar o ReportBuilder do Report services, segue:

    http://www.codeproject.com/Articles/6972/Report-Builder

    http://blog.infotoad.com/category/Report-Builder-20-.aspx


    Consultoria .NET

    ANALISTA DESENVOLVEDOR
    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta.

    • Sugerido como Resposta David Silva sábado, 11 de fevereiro de 2012 19:07
    • Marcado como Resposta Harley AraujoModerator segunda-feira, 13 de fevereiro de 2012 09:41
    sexta-feira, 10 de fevereiro de 2012 17:36

Todas as Respostas

  • Boa tarde.

    Toda esta sua rotina já existe, voce pode usar o ReportBuilder do Report services, segue:

    http://www.codeproject.com/Articles/6972/Report-Builder

    http://blog.infotoad.com/category/Report-Builder-20-.aspx


    Consultoria .NET

    ANALISTA DESENVOLVEDOR
    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta.

    • Sugerido como Resposta David Silva sábado, 11 de fevereiro de 2012 19:07
    • Marcado como Resposta Harley AraujoModerator segunda-feira, 13 de fevereiro de 2012 09:41
    sexta-feira, 10 de fevereiro de 2012 17:36
  • Olá

    Obrigado pela atenção!

    Imprimir e vou tentar entender, uma vez que está em Inglês.

    De qualquer forma, agradeço a atenção!

    Paulo


    parole Sql

    sábado, 11 de fevereiro de 2012 18:50
  • Boa tarde!

    Olhei os links que vc. me indicou e todos eles usam o ASP. NET. O que eu queria fazer é mais simples. Criar uma página no C# 2008, colocar um tabControl e incluir opções para que o usuário final escolha os campos que deverão ser mostrados no DataGridView.

    Só isso! Será que ninguem fez algo semelhante?


    parole Sql


    • Editado Parolima terça-feira, 14 de fevereiro de 2012 19:00
    terça-feira, 14 de fevereiro de 2012 18:59
  • Bom dia.

    Voce quer imprimir ou apenas exibir as opcoes de quais campos serao exibidos na grid?


    Consultoria .NET

    ANALISTA DESENVOLVEDOR
    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta.

    quarta-feira, 15 de fevereiro de 2012 09:58
  • Boa dia

    O ideal era escolher os campos e imprimir, mas a rotina de impressão é muito complicada, por isso, quero que os CAMPOS selecionados vão para o DataGridView. Só isso.

    EM outro formulário do meu 1º projeto, fiz algo parecido, mas sem a opção de selecionar os campos, porém estou com dificuldade de encaixar os critérios. Veja como fiz:


    Paulo


    private void btnAluno_Click(object sender, EventArgs e)

    try

    if (sqlCon.State.Equals(ConnectionState.Closed))// Seleciona todos os registro

    new SqlCommand("Select * From TbAluno Order by NomeCurto");

    CommandType.Text;

    SchemaType.Source, "TbAluno");

    "TbAluno");

    if (txtPesquisar.Text.Trim().Length > 0)

    DataTable dtRel = dsRel.Tables["TbAluno"];

    DataView dvRel = new DataView(dtRel);

    // procura registros

    string.Concat("NomeCurto LIKE '%", txtPesquisar.Text, "%'"); // Esse é um dos critérios, falta os radioButtom e os campos de data. Todos com campos específicos no formulário

    "Status: Aluno Encontrado!";

    else// preenche DataGrid

    "TbAluno";Status: Dados dos Alunos";

    lblStatus.Text =

    formatarGridAluno();

    }

    }

    {

    MessageBox.Show(ex.Message.ToString());

    finally

    {

    sqlCon.Close();

    }

    }

    }

    catch (Exception ex)

    {

    dgvResultado.DataSource = dsRel;

    dgvResultado.DataMember =

    formatarGridAluno();

    }

    dgvResultado.DataSource = dvRel;

    lblStatus.Text =

    dvRel.RowFilter =

    {

    daRel.Fill(dsRel,

    daRel.SelectCommand.Connection = sqlCon;

    daRel.FillSchema(dsRel,

    daRel.SelectCommand.CommandType =

    sqlCon.Open();

    daRel.SelectCommand =

    {

    {

    • Editado Parolima quarta-feira, 15 de fevereiro de 2012 12:23
    quarta-feira, 15 de fevereiro de 2012 12:07