Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Printa ut innehållet i en listview?

Postades av 2001-08-05 22:02:00 - Torbjörn Karlberg, i forum visual basic - allmänt, Tråden har 6 Kommentarer och lästs av 585 personer

Går det överhuvudtaget att printa ut innehållet ur en listview som tex från en listbox?????


Svara

Sv: Printa ut innehållet i en listview?

Postades av 2001-08-07 15:39:00 - Pelle Johansson

This subroutine prints the contents of a ListView control in report view. The parameter Lines specifies the number of rows that will be printed, beginning with the first row. If LV.ListCount is less than the parameter Lines, then all the rows will be printed. The columns in the LV control are tabbed to be uniformly distributed across the page.

<code>
Public Sub PrintListView(LV As ListView, Lines%)
Dim i%, LVWidth%, NewTab%, j%
Dim itmX As ListItem
Dim LineCount%

LVWidth = 0
For i = 1 To LV.ColumnHeaders.Count
LVWidth = LVWidth + LV.ColumnHeaders(i).Width
Next
NewTab = 0
For i = 1 To LV.ColumnHeaders.Count
NewTab = NewTab + CInt(LV.ColumnHeaders(i).Width * Printer.ScaleWidth / LVWidth)
Printer.Print LV.ColumnHeaders(i).Text;
Printer.CurrentX = NewTab
Next
Printer.Print
If Lines < LV.ListItems.Count And Lines <> 0 Then
LineCount = Lines
Else
LineCount = LV.ListItems.Count
End If
For i = 1 To LineCount
NewTab = 0
Set itmX = LV.ListItems(i)
Printer.Print itmX.Text;
For j = 1 To LV.ColumnHeaders.Count - 1
NewTab = NewTab + CInt(LV.ColumnHeaders(j).Width * Printer.ScaleWidth / LVWidth)
Printer.CurrentX = NewTab
Printer.Print itmX.SubItems(j);
Next
Printer.Print
Next

End Sub
</code>


Svara

Sv: Printa ut innehållet i en listview?

Postades av 2001-08-08 20:54:00 - Torbjörn Karlberg

Tack

Har letat länge efter det här, fick det att fungerade efter div små modifieringar.

Mvh
Tobbe


Svara

Sv: Printa ut innehållet i en listview?

Postades av 2001-08-08 22:37:00 - Pelle Johansson

Berätta gärna vad du gjorde för modifieringar och skicka ännu hellre upp det i tips & tricks!!!

/Pelle


Svara

Sv: Printa ut innehållet i en listview?

Postades av 2001-08-09 09:50:00 - Andreas Hillqvist

Som vanligt har jag skrivit om funktionen. För utom optimering har jag laggt till möjlighet för marginaler:

Public Sub PrintListView(ListView As ListView, Optional LeftMarginal As Single, Optional TopMarginal As Single, Optional RightMarginal As Single, Optional BottomMarginal As Single)
Dim Index As Long
Dim LVWidth As Long
Dim LastHeader As Long
Dim PrinterWidth As Single
Dim PrinterHeight As Single
Dim ColumnLeft() As Single

Dim ListItem As ListItem
Dim ColumnHeader As ColumnHeader
LVWidth = ColumnWidth(ListView)
LastHeader = ListView.ColumnHeaders.Count - 1
PrinterWidth = Printer.ScaleWidth - LeftMarginal - RightMarginal
PrinterHeight = Printer.ScaleHeight - TopMarginal - BottomMarginal

'Calculate headers position
ReDim ColumnLeft(0 To ListView.ColumnHeaders.Count)
ColumnLeft(0) = Printer.ScaleLeft + LeftMarginal
For Each ColumnHeader In ListView.ColumnHeaders
Index = Index + 1
ColumnLeft(Index) = ColumnLeft(Index - 1) + (ColumnHeader.Width * PrinterWidth \ LVWidth)
Next

'Prints headers on first page
PrintHeaders ListView, TopMarginal, ColumnLeft

For Each ListItem In ListView.ListItems
'Prints headers
If Printer.CurrentY > Printer.ScaleHeight - BottomMarginal Then
Printer.NewPage
PrintHeaders ListView, TopMarginal, ColumnLeft
End If

'Prints lines on page
Printer.CurrentX = ColumnLeft(0)
Printer.Print ListItem.Text;
For Index = 1 To LastHeader
Printer.CurrentX = ColumnLeft(Index)
Printer.Print ListItem.SubItems(Index);
Next
Printer.Print 'New Line
Next
Printer.EndDoc
End Sub

Private Sub PrintHeaders(ListView As ListView, TopMarginal As Single, ColumnLeft() As Single)
Dim Index As Long
Dim ColumnHeader As ColumnHeader
Printer.FontBold = True
Printer.CurrentY = Printer.ScaleTop + TopMarginal
For Each ColumnHeader In ListView.ColumnHeaders
Printer.CurrentX = ColumnLeft(Index)
Printer.Print ColumnHeader.Text;
Index = Index + 1
Next
Printer.Print 'New Line
Printer.FontBold = False
End Sub

Private Function ColumnWidth(ListView As ListView)
Dim ColumnHeader As ColumnHeader
For Each ColumnHeader In ListView.ColumnHeaders
ColumnWidth = ColumnWidth + ColumnHeader.Width
Next
End Function

Exempel på syntax:
Private Sub mnuFilePrint_Click()
PrintListView ListView1, Printer.ScaleX(2, vbCentimeters), Printer.ScaleY(1, vbCentimeters), Printer.ScaleX(1, vbCentimeters), Printer.ScaleY(1, vbCentimeters)
End Sub


Svara

Sv: Printa ut innehållet i en listview?

Postades av 2001-08-09 20:33:00 - Torbjörn Karlberg

Hej Pelle
Det jag gorde för att få det att fungera i mitt program var att ändra från Public sub till private sub och så fick ta bort (listview as listview) inga stora ändringar samt lite marginaländringar.

Mvh
Tobbe


Svara

Sv: Printa ut innehållet i en listview?

Postades av 2001-08-09 21:50:00 - Pelle Johansson

Ok. Tjusigt Andreas - du drar in den i tips & tricks va ;-)

/Pelle


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 621
27 953
271 709
447
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies