This code works for printing MS Flexgrids, never tried it on ListViews or Datagrids though.
VB Code:
Private Sub PrintGrid(MyGrid As MSFlexGrid)
Dim OldWidth As Integer
OldWidth = MyGrid.Width
MyGrid.Width = Printer.Width
Printer.PaintPicture MyGrid.Picture, 0, 0
Printer.EndDoc
MyGrid.Width = OldWidth
End Sub
You will have to change the references to MSFlexGrid to the control you are using.
Hope it helps.