请问如何把DataGrid里的数据打印出来?
因为整个Form里既有textbox,lable控件,还有DataGrid控件,我只想把DataGrid里面的内容打印出来,请问怎么打? 问题点数:20、回复次数:3Top
1 楼hpygzhx520()回复于 2005-04-02 22:52:46 得分 0
导出到EXCEL再打印,或者用控件。很多的,本站就有。Top
2 楼zyqiiy(希思)回复于 2005-04-02 22:54:42 得分 0
给多点提示吧,看了好多,不懂.书上也说不清楚Top
3 楼chendjin(蹭分来了)回复于 2005-04-03 11:26:17 得分 20
导出到EXCEL再打印:
private Sub GridTOexcel(mGrid As DataGrid)
Dim ColCount, i, k As Integer
Dim xlApp As New Excel.Application, xlBook As Excel.Workbook
Dim xlsheet As Excel.Worksheet, sRange As String
ColCount = mGrid.Columns.Count
xlApp.Visible = False
Set xlBook = xlApp.Workbooks.Add
Set xlsheet = xlBook.Worksheets(3)
xlsheet.Visible = xlSheetHidden
Set xlsheet = xlBook.Worksheets(2)
xlsheet.Visible = xlSheetHidden '//隐藏sheet2
Set xlsheet = xlBook.Worksheets(1)
xlsheet.Name = "导出数据"
VB.Screen.MousePointer = vbHourglass
xlsheet.Range(xlsheet.Cells(1, 1), xlsheet.Cells(1, ColCount)).Merge
xlsheet.Range(xlsheet.Cells(2, 1), xlsheet.Cells(2, ColCount)).Font.Size = 10
'//设置标题
For i = 0 To ColCount - 1
xlsheet.Columns(i + 1).ColumnWidth = mGrid.Columns(i).Width / 120
If mGrid.Columns(i).Visible = True Then
xlsheet.Cells(2, i + 1) = mGrid.Columns(i).Caption
End If
Next
mGrid.MoveFirst
i = 0
'//从网格到excel
While Not mGrid.EOF
xlsheet.Range(xlsheet.Cells(i + 3, 1), xlsheet.Cells(i + 3, ColCount)).Font.Size = 10
For k = 0 To ColCount - 1
If Not IsNull(mGrid.Columns(k).Value) Then
If mGrid.Columns(k).Visible = True Then
xlsheet.Cells(i + 3, k + 1) = CStr(mGrid.Columns(k).Value)
End If
End If
Next
mGrid.MoveNext
i = i + 1
Wend
'//关闭操作台
xlBook.SaveAs "D:\kk.xls"
xlBook.Close False
xlApp.Quit
Set xlApp = Nothing
VB.Screen.MousePointer = vbDefault
Msgbox "数据导出完毕!"
End Sub
Top




