Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Rafael_sobrinho

Vb-urgente

Recommended Posts

<font color='#000000'>presciso saber urgente como faço para imprimir todo o conteudo de um controle datagrid?

E tambem presciso saber porque os controles mask alguma coisa nâo enviam as informaçãoes para o banco de dados

Desde de já vaeleu!</font>

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

<font color='#000000'>olha, eu programo muito pouco em VB. sei um pouco mais sobre Delphi, Kylix e C. mas pra você não ficar sem nada eu vou ver o que posso fazer:

crie alguma coisa parecida com um memo (uma caixa para texto longo). procure no DataGrid alguma coisa parecida com "Lines" ou "Records", daí é só apontar o ".text", .".lines" ou qualquer um similar para o ".lines" do DataGrid. com os dados no "memo" dá pra mandar pra porta de impressão tranqüilamente, acho que tem um comando chamado LPrint no VB.

bem, se eu conseguir alguma coisa com outro programador ou na net eu posto aqui, beleza? mas, você já pensou em fazer um Quary?</font>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<font color='#000080'>Colega, eu particularmente não gosto de trabalhar com DataGrid, prefiro o MSFlexGrid que pra mim que não trabalaho com controles Data/ADO é bem melhor.

Fiz essa rotina meio que na pressa, mas funciona e já é um começo...

Passe como parâmetro o seu controle DataGrid e, se estiver usando controle ADO vinculado, passe como segundo parâmetro. Quanto à formatação da impressão, essa parte eu não fiz, fica à seu critério  :D

Public Sub ImprimirDataGrid(ControleDataGrid As DataGrid, ControleAdo As Adodc)
   
   Dim Colunas As Long, QtdColunas As Long, LinhasPorPagina As Long, LinhaAtual As Long
   Dim Registro As Long, QtdRegistros As Long, Celula As Long, QtdCelulas As Long
   Dim TextoImpressao As String, Temp As String
   '--------------------------------------------------
       
   Screen.MousePointer = vbHourglass
   
   With Printer
       .FontSize = 8
       .FontBold = False
       .FontName = "Courier New"
       .Orientation = vbPRORPortrait
   End With
   
   QtdColunas = ControleDataGrid.Columns.Count
   QtdRegistros = ControleAdo.Recordset.RecordCount
   QtdCelulas = ControleDataGrid.VisibleRows
   LinhasPorPagina = 80
   
   For Registro = 1 To QtdRegistros
       
       For Celula = 0 To QtdCelulas - 1
           
           ControleDataGrid.RowBookmark Celula

           For Colunas = 1 To QtdColunas
               Temp = ControleDataGrid.Columns(Colunas - 1).CellText(ControleDataGrid.Bookmark)
               TextoImpressao = TextoImpressao & Temp & Space(Len(Temp))
           Next
           
           LinhaAtual = LinhaAtual + 1

           If LinhaAtual <= LinhasPorPagina Then
               TextoImpressao = TextoImpressao & vbNewLine
           Else
               Printer.Print TextoImpressao
               Printer.NewPage
               LinhaAtual = 0
           End If
           
           ControleAdo.Recordset.MoveNext
           
       Next
       
       ControleDataGrid.Scroll 0, ControleDataGrid.VisibleRows
       
   Next
   
   Printer.EndDoc
   
End Sub

:cool:</font>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×