pcclrocks 0 Denunciar post Postado Junho 30, 2009 ola a todos. estou a criar uma aplicação windows e estou com dificuldades. eu tenho uma datagrid, onde faço varias pesquisas, e quero inserir um botão ao lado da datagrid que faça a impressão, de preferencia para formato .pdf, dos dados da datagrid. é o pormenor que me falta para terminar o meu projecto final da faculdade, e como já só tenho 1 semana para acabar peço mesmo muito que me ajudem. para facilitar a ajuda vou colar aqui a imagem e o código da minha form, de seu nome Familias.cs o botão que quero usar para imprimir é o button5. Por favor, digam me o que tenho de fazer using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Ferramenta { public partial class Familias : Form { public Familias() { InitializeComponent(); } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { } private void button1_Click(object sender, EventArgs e) { try { DataSet d = FerrBL.FamiliaBL.GetAllFamilias(); dataGridView1.DataSource = d; dataGridView1.DataMember = "Familias"; } catch { MessageBox.Show("Falhou"); } } private void label1_Click(object sender, EventArgs e) { } private void label2_Click(object sender, EventArgs e) { } private void label3_Click(object sender, EventArgs e) { } private void textBox1_TextChanged(object sender, EventArgs e) { } private void textBox2_TextChanged(object sender, EventArgs e) { } private void button2_Click(object sender, EventArgs e) { try { int t = FerrBL.FamiliaBL.InsereFamilia(int.Parse(textBox1.Text),textBox2.Text); if (t == 1) MessageBox.Show("Inserido com sucesso."); else MessageBox.Show("ERRO! Código errado ou repetido."); } catch { MessageBox.Show("Falhou a inserção!"); } } private void button3_Click(object sender, EventArgs e) { Close(); } private void button4_Click(object sender, EventArgs e) { try { int t = FerrBL.FamiliaBL.RemoveFamilia(int.Parse(textBox3.Text)); if (t == 1) MessageBox.Show("Familia removida com sucesso."); else MessageBox.Show("Erro! Código errado?"); } catch { MessageBox.Show("Falhou a remoção da familia!"); } } private void label4_Click(object sender, EventArgs e) { } private void label5_Click(object sender, EventArgs e) { } private void textBox3_TextChanged(object sender, EventArgs e) { } private void button5_Click(object sender, EventArgs e) { } } } um abraço e desde já muito obrigado Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Junho 30, 2009 pcclrocks, seja bem vindo ao Fórum iMasters, conheça nossas regras: Regras do Fórum iMasters Aqui não temos os costumes de resolver os problemas de faculdade dos membros, não estregamos de mão beijada, mas sim mostramos links e explicamos de forma com que force a tentar ir solucionando seus problemas. Se quiser criar um relatório pode utilizar alguma ferramenta como o Crystal, mas se quiser imprimir sus tela aqui tem alguns links que serão uteis: http://www.codeproject.com/KB/cs/FormPrintPackage.aspx http://www.syncfusion.com/faq/windowsforms/search/491.aspx Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
pcclrocks 0 Denunciar post Postado Julho 1, 2009 Se quiser criar um relatório pode utilizar alguma ferramenta como o Crystal, mas se quiser imprimir sus tela aqui tem alguns links que serão uteis: http://www.codeproject.com/KB/cs/FormPrintPackage.aspx http://www.syncfusion.com/faq/windowsforms/search/491.aspx ola, antes de mais nada obrigado pelos links. o primeiro link achei muito complicado e confuso, por isso usei as dicas do segundo link, mas deparei me com um problema. o que no artigo, no 1 passo se chama "private void buttonPrint_Click(object sender, System.EventArgs e) " interpretei como sendo o meu button5, por isso colei o repspectivo codigo no button5. o meu problema é o 3º passo. eu já consigo imprimir, mas não como quero. primeiro, consegui imprimir a form inteira como imagem. depois consegui que imprimisse apenas a a datagrid junto com a margem esquerda, pois declarei os pontos entre os quais queria que a imagem fosse impressa. E se a janela que aparece quando imprimimos algo, aquela que diz "pinting page 1 of 1" aparecer por cima da datagrid aparece na imagem por cima da datagrid... o que eu queria mesmo é que o botão de imprimir, em vez de criar uma imagem, exporta-se os dados como texto, ou como uma tabela. o que fazer????? eu utilizei tambem as dicas do link do passo nº3: http://msdn.microsoft.com/library/default....eClassTopic.asp Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Julho 1, 2009 Então o que você quer fazer não é imprimir sua tela e sim exportar os dados da sua grid para algo como o excel. É isso mesmo? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
pcclrocks 0 Denunciar post Postado Julho 2, 2009 sim, é isso mesmo. dou-te um exemplo daquilo que quero imprimir. No meu programa, os tabalhadores da construção civil requerem as ferramentas no armazem da empresa para as usarem no local de trabalho. a minha datagrid mostra-me todas as ferramentas requesitadas por determinado funcionario. A partir dai eu quero fazer um documento para imprimir em papel para o funcionario assine para confirmar que recebeu aquelas ferramentas. já estive a pesquisar os crystal reports, que creio que é o melhor a fazer (penso eu...), mas não encontrei nenhum site que me explique bem como fazer. imprimir para excell tambem não seria mau, pois podia sempre fazer o documento a partir dai. achas que me podes indicar algum caminho para que eu possa resolver isto? um abraço e muito obrigado Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Julho 2, 2009 Tem exemplos bem simples de como utilizar o Crystal: http://www.macoratti.net/indcrys.htm Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
pcclrocks 0 Denunciar post Postado Julho 3, 2009 por incrivel que pareça, o site recomendado não tem nada especifico sobre imprimir dados de uma datagrid para o excel. obrigado na mesma. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Julho 3, 2009 Sim, o site que indiquei era sobre como usar o Crystal com vb.net Para exportar para o excel de uma olhada nesse artigo: http://www.linhadecodigo.com.br/Dica.aspx?id=1213 Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
pcclrocks 0 Denunciar post Postado Julho 15, 2009 ola novamente. estou a seguir o link que me recomendaram por ultimo. http://www.linhadecodigo.com.br/Dica.aspx?id=1213 ja tenho a referencia Interop.Excel, mas não entendo o que o autor quer dizer com " No evento que faz a chamada entre com o seguinte código: " tenho de criar um novo método com este código na class onde pretendo usar este código? é isso? alguem que me explique por favor. um abraço Compartilhar este post Link para o post Compartilhar em outros sites
pcclrocks 0 Denunciar post Postado Julho 17, 2009 problema resolvido usei o seguinte link: http://www.carlosag.net/Tools/ExcelXmlWriter/ topico encerrado e muito obrigado Compartilhar este post Link para o post Compartilhar em outros sites