回 帖 发 新 帖 刷新版面

主题:菜鸟的问题1

怎么样用vb.net 开发一个打印程序 谁能给我一点指导 或者给我一点教材啊 谢谢啊

回复列表 (共7个回复)

沙发

可不可以缓一两天,我还没有看过,看过后就告诉你啦!

板凳

[em6]晕倒

3 楼

我刚弄完这个东西,你能不能把问题说的明白点?
是打印报表吗?

4 楼

我要做一个付款单打印的程序 功能大概是这样的 窗体上批号文书号的输入等 然后根据这些 从SQL 中找出相应的数据 打出单证 大概是这样的!!!! 我这里只有一个vb的事例 现在要用vb.net 做一个和原来vb 作的那个功能差不多的程序

5 楼

先新建一个窗体,叫FORM2吧,在里面放入一个CrystalReportViewer1控件

在你的那个查询的窗体中做一个BUTTON1按钮(即打印按钮)
在这个按钮中,添加你所查询出来的所有字段(定义一个DataTable)
然后再建立一个DATASET1,把那些字段加进去。

现在就建立一个CrystalReport1报表(把数据加进去)

在FORM2中写下面这句代码:
Private dtprint As New DataTable
  
Sub New(ByRef dt As DataTable)
        MyBase.New()
        InitializeComponent()
        dtprint = dt
End Sub

Private Sub printform_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim result As New CrystalReport1
        result.SetDataSource(dtprint)
        Me.CrystalReportViewer1.ReportSource = result
End Sub

最后把你要打印出来的字段都拖到报表的那个正文上就行了。


我就是用这个方法做的,再难的我就不会了,希望能给你当做一个参考,呵呵。

6 楼

如何"定义一个DataTable" ?

7 楼

Dim printTable As New DataTable("print")
    printTable.Columns.Add("档案馆号", Type.GetType("System.String"))
   Dim i As Integer
   Dim mydatarow As DataRow
    For i = 0 To mydataset.Tables("find").Rows.Count - 1
    mydatarow = printTable.NewRow()
   mydatarow("档案馆号") = mydataset.Tables(0).Rows(i)("档案馆号")
  printTable.Rows.Add(mydatarow)
   Next
   Dim printform As printform = New printform(printTable)
   '这里的printform就是放那个crystalreportviewer控件的窗体
   printform.ShowDialog()

我来回复

您尚未登录,请登录后再回复。点此登录或注册