COMO IMPRIMIR DADOS DO DATAGRIDVIEW?

SERGIO 18/04/2010 23:27:49
#339693
Olá pessoal tenho uma programa que fiz para estudos de gerenciamento de locadora e gostaria de saber como imprimir dados do datagridview
http://img62.imageshack.us/img62/9572/datagridview.png
essa é a tela
desde já agradeço
flws
JWCELYO 19/04/2010 09:08:32
#339697
você pode passar esses dados para um ReportView imprimir. veja esse exemplo.
lembrado que o ReportView so se encontra no Visual Studio no visual Basic Express ele não existe
http://vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=8612
SERGIO 19/04/2010 10:29:20
#339702
ih minha versão é a express existe outro método??
SERGIO 23/04/2010 11:59:07
#340027
alguém?
SERGIO 27/04/2010 14:56:06
#340377
vou postar meu código mais dá erro

e.Graphics.DrawString([Ô]Sergio Enterprise[Ô], New Font([Ô]Brushes.LemonChiffon[Ô], 10, FontStyle.Regular), Brushes.Black, 20, 200)
Dim margemEsq As Single = e.MarginBounds.Left
Dim margemDir As Single = e.MarginBounds.Right
Dim margemSup As Single = e.MarginBounds.Top
Dim margemInf As Single = e.MarginBounds.Bottom
Dim linhaslidas As Integer = 1
Dim cont = 250
Dim fonteNormal = New Font([Ô]Arial[Ô], 9, FontStyle.Regular)
Dim fonteNegrito = New Font([Ô]Arial[Ô], 9, FontStyle.Bold)
Dim linhasporpagina = e.MarginBounds.Height / fonteNormal.GetHeight(e.Graphics) - 10

If linhaslidas <= linhasporpagina Then
For linha = 0 To DataGridView1.RowCount - 1
If cont < 900 Then
e.Graphics.DrawString(DataGridView1.Item(0, linha).Value.ToString, fonteNegrito, Brushes.Black, margemEsq, cont)
e.Graphics.DrawString(DataGridView1.Item(1, linha).Value.ToString, fonteNormal, Brushes.Black, margemEsq + 150, cont)
e.Graphics.DrawString(DataGridView1.Item(2, linha).Value.ToString, fonteNormal, Brushes.Black, margemEsq + 300, cont)
cont += 25
Else
linhasporpagina = linhaslidas
If cont < 900 Then
e.HasMorePages = False
End If
cont = 295
End If
linhaslidas += 1
Next
End If
dá erro nessa linha [Ô] e.Graphics.DrawString(DataGridView1.Item(0, linha).Value.ToString, fonteNegrito, Brushes.Black, margemEsq, cont)[Ô]
Object reference not set to an instance of an object.
MFLAVIO 29/04/2010 13:33:00
#340537
Pega o ActiveReports ou o crystalReports
SERGIO 06/05/2010 16:42:36
#341127
mais o problema é que meu vb é o 2008 express e eu atê tenho o crystal report 2008 consegui fazer um relátorio nele com o mysql , mais não sei usar ele no vb2008 se é que é possivel, então eu to tentando fazer um seguinte

com este outro código que eu fiz eu to tentando pegar os dados do datagrid e montar um cupom pra um programa que eu to fazendo(para estudos msm de uma locadora)

 Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
[ô] e.Graphics.DrawString([Ô]Sergio Enterprise[Ô], New Font([Ô]Brushes.LemonChiffon[Ô], 10, FontStyle.Regular), Brushes.Black, 20, 200)
e.Graphics.DrawString([Ô]CUPOM -LOCADORA[Ô], New Font([Ô]Brushes.DarkGray[Ô], 10, FontStyle.Italic), Brushes.Black, 30, 150)
For Each row In DataGridView1.Controls
e.Graphics.DrawString([Ô]ITEM[Ô] & DataGridView1.Rows(0).Cells([Ô]coluna1[Ô]).Value, New Font([Ô]Brushes.LemonChiffon[Ô], 10, FontStyle.Regular), Brushes.Black, 10, 180)
e.Graphics.DrawString([Ô][Ô] & DataGridView1.Rows(1).Cells([Ô]coluna2[Ô]).Value, New Font([Ô]Brushes.LemonChiffon[Ô], 10, FontStyle.Regular), Brushes.Black, 10, 200)

Next


esta é a foto do grid
http://img517.imageshack.us/img517/1001/dgvdemo.jpg
e meu cupom tá ficando assim



só que eu gostaria que ficasse assim
Cupom-locadora
item01 Norbit R$2,50
item02 x-men Rs2,50

mais não consegui
SERGIO 07/05/2010 08:41:59
#341159
bom pessoal consegui dar um melhorada mais ainda não consegui fazer do geito que eu gostaria meu novo código eu fiz assim
    Dim TotalaPagar As Integer
TotalaPagar = Val(DataGridView1.Rows(1).Cells([Ô]coluna3[Ô]).Value) + Val(DataGridView1.Rows(0).Cells([Ô]coluna3[Ô]).Value)
[ô] e.Graphics.DrawString([Ô]Sergio Enterprise[Ô], New Font([Ô]Brushes.LemonChiffon[Ô], 10, FontStyle.Regular), Brushes.Black, 20, 200)
e.Graphics.DrawString([Ô]CUPOM -LOCADORA[Ô], New Font([Ô]Brushes.DarkGray[Ô], 10, FontStyle.Italic), Brushes.Black, 30, 150)
For Each row In DataGridView1.Controls
e.Graphics.DrawString([Ô]ITEM[Ô] & DataGridView1.Rows(0).Cells([Ô]coluna1[Ô]).Value, New Font([Ô]Brushes.LemonChiffon[Ô], 10, FontStyle.Regular), Brushes.Black, 10, 180)
e.Graphics.DrawString([Ô][Ô] & DataGridView1.Rows(0).Cells([Ô]coluna2[Ô]).Value, New Font([Ô]Brushes.LemonChiffon[Ô], 10, FontStyle.Regular), Brushes.Black, 10, 200)
e.Graphics.DrawString([Ô]ITEM[Ô] & DataGridView1.Rows(1).Cells([Ô]coluna1[Ô]).Value, New Font([Ô]Brushes.LemonChiffon[Ô], 10, FontStyle.Regular), Brushes.Black, 10, 220)
e.Graphics.DrawString([Ô][Ô] & DataGridView1.Rows(1).Cells([Ô]coluna2[Ô]).Value, New Font([Ô]Brushes.LemonChiffon[Ô], 10, FontStyle.Regular), Brushes.Black, 10, 240)
e.Graphics.DrawString([Ô]TOTAL A PAGAR[Ô], New Font([Ô]Brushes.LemonChiffon[Ô], 10, FontStyle.Regular), Brushes.Black, 10, 260)
e.Graphics.DrawString([Ô]R$[Ô] & Format(TotalaPagar, [Ô]###,#0.00[Ô]), New Font([Ô]Brushes.LemonChiffon[Ô], 10, FontStyle.Regular), Brushes.Black, 10, 280)
Next


End Sub

ae o cupom agora tá ficando assim
Cupom-locadora
item01
Avatar
item02
Norbit
TotalAPagar
R$5,00
ESLEYSANCHES 07/05/2010 09:02:18
#341162
Resposta escolhida
Cara !!!
Tenho um projeto para vc aqui pronto zerado, q inclusive usei recentemente. Com certeza vai te ajudar.
Ele imprime todos os dados do DataGridView sem importar a quantidade.

Flw abraços !!!
SERGIO 07/05/2010 15:40:47
#341216
Nossa muito obrigado cara vou testar e depois eu volto comentando , valeu msm
SERGIO 07/05/2010 15:57:45
#341218
então ESLEYSANCHES eu não consegui abrir o projeto no vb2008 aparece uma mensagem que deu erro no csjproj e aparece para utilizar outra versão algo assim mais executando o projeto pela pasta bin funcionou.
Página 1 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas