一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Vb.net 如何實(shí)現(xiàn)報(bào)表打印

 點(diǎn)點(diǎn)滴滴飄落 2017-08-27

   報(bào)表打印的方法有很多種,比如說先導(dǎo)出office 軟件中然后進(jìn)行排版布局,這樣和方便,可是需要導(dǎo)入組件,而且必須安裝office。下面我們看一種很實(shí)在的方法。提供全部源代碼。以供朋友們學(xué)習(xí)交流。

   這種方法也很簡(jiǎn)單,是使用GDI+ 把數(shù)據(jù)寫到PrintDoucument中的

第一步 先引入命名空間

Imports System

Imports System.Drawing

Imports System.Drawing.Text

第二步 編寫PrintDoucument 的Printpage 事件

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

下面 我們將數(shù)據(jù)表 mytab 中的數(shù)據(jù)寫進(jìn)PrintDoucument

先定義畫筆

        Dim arialfont As FontFamily = New FontFamily("arial")

        Dim font As Font = New Font(arialfont, 10, FontStyle.Regular)

然后定義頁(yè)邊距

        Dim rleft As Single = 10

        Dim rtop As Single = e.MarginBounds.Top - 20

獲取每一行的高度

  Dim lineheight As Single = font.GetHeight(e.Graphics)

獲取Mytab的行數(shù)和列數(shù)

        Dim col As Integer = Mytab.Columns.Count

        Dim row As Integer = Mytab.Rows.Count

獲取Mytab的字段名稱

        Dim headline As String = ""

        For i As Integer = 1 To col - 1

           Dim coltext As String = Mytab.Columns(i).ColumnName.ToString

             headline = headline & coltext & Space(1)

        Next

獲取要打印的數(shù)據(jù)

        Dim listviewrows As String()

        ReDim listviewrows(Me.ListView1.Items.Count + 1)

        For i As Integer = 0 To row - 1

            Dim lentext As String = ""

            For j As Integer = 1 To col - 1

                Dim maxlen As Integer = liewidth(j - 1)

                Dim coltext As String

                            coltext = Mytab.Rows(i).item(j).ToString

                lentext = lentext & coltext & Space(3)

            Next

            listviewrows(i) = lentext

        Next

接下來就是真正的寫入數(shù)據(jù)

        Do

            e.Graphics.DrawString(listviewrows(counts), font, Brushes.Black, rleft, rtop)

            counts = counts + 1

            rtop = rtop + lineheight

        Loop Until rtop > e.MarginBounds.Bottom Or counts >= Mytab.Rows.Count - 1

        If counts < Mytab.Rows.Count - 1 Then

            e.HasMorePages = True

        Else

            e.HasMorePages = False

        End If

END Sub

寫好以后,就可以打印了

PrintDoucument.print()

到此就可以把數(shù)據(jù)表Mytab中的所有數(shù)據(jù)打印出來了

本文出自 “花花學(xué)編程” 博客,請(qǐng)務(wù)必保留此出處http://chenghua.blog.51cto.com/2306449/691908

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产日产欧美精品视频| 九九九热视频免费观看| 熟妇人妻av中文字幕老熟妇| 国产av天堂一区二区三区粉嫩 | 欧美野外在线刺激在线观看 | 国产黄色高清内射熟女视频| 又色又爽又无遮挡的视频| 亚洲一区二区久久观看| 日韩中文字幕视频在线高清版| 亚洲精品一区三区三区| 激情内射亚洲一区二区三区 | 国产精品不卡免费视频| 久久精品少妇内射毛片| 亚洲人午夜精品射精日韩| 亚洲一区二区三在线播放| 色婷婷国产精品视频一区二区保健 | 久久99青青精品免费| 国产精品欧美一区两区| 日本本亚洲三级在线播放| 国产精品视频一级香蕉| 国产精品视频一区二区秋霞| 自拍偷拍福利视频在线观看| 人妻少妇系列中文字幕| 国产免费人成视频尤物| 91精品国自产拍老熟女露脸| 人体偷拍一区二区三区| 日本黄色录像韩国黄色录像| 日韩成人动画在线观看| 欧美日韩综合在线精品| 情一色一区二区三区四| 欧美三级大黄片免费看| 儿媳妇的诱惑中文字幕| 久久香蕉综合网精品视频 | 人妻久久这里只有精品| 欧美成人免费夜夜黄啪啪| 在线观看国产成人av天堂野外| 尤物久久91欧美人禽亚洲| 国产精品一区二区不卡中文 | 国产精品白丝久久av| 国产精品一区欧美二区| 午夜资源在线观看免费高清|