Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 从datagridview创建不带数据库的pdf_Vb.net_Pdf_Datagridview - Fatal编程技术网

Vb.net 从datagridview创建不带数据库的pdf

Vb.net 从datagridview创建不带数据库的pdf,vb.net,pdf,datagridview,Vb.net,Pdf,Datagridview,我有下面的代码,我想用iTextSharp创建一个PDF。 如何在不创建数据库的情况下做到这一点(因为datagridview中每一行的代码都不同) 选项严格打开 选项显式打开 公开课表格1 作为整数的Dim计数器 将总计设置为字符串 私有子按钮1\u单击(发送者作为System.Object,e作为System.EventArgs)处理按钮1。单击 尺寸列表=新列表(测试) 尝试 ' '用列表填充数据网格 ' ' '第一行代码 ' Dim奖金=(CDbl(组合框2.SelectedItem)*

我有下面的代码,我想用iTextSharp创建一个PDF。
如何在不创建数据库的情况下做到这一点(因为datagridview中每一行的代码都不同)

选项严格打开
选项显式打开
公开课表格1
作为整数的Dim计数器
将总计设置为字符串
私有子按钮1\u单击(发送者作为System.Object,e作为System.EventArgs)处理按钮1。单击
尺寸列表=新列表(测试)
尝试
'
'用列表填充数据网格
'
'
'第一行代码
'
Dim奖金=(CDbl(组合框2.SelectedItem)*CDbl(TextBox2.Text)*0.001)
Dim SUM=TextBox2.Text
Dim NormalCover=CDbl(TextBox2.Text)+奖金
Dim DAB=(CDbl(CStr(TextBox2.Text))*2)
Dim Premium=TextBox4.Text
Dim Tax=(CDbl(TextBox4.Text)*CDec(ComboBox1.SelectedItem)*0.01)
Dim净支出=CDbl(CDbl(TextBox4.Text)-税务)
Dim AccBenefit=DAB+奖金
仪表板返回仪表板从仪表板返回仪表板=CStr(0)
列表.添加(新测试(TextBox1.Text、CStr(普通保险)、CStr(账户福利)、保险费、CStr(税收)、CStr(净支出)、CStr(从保险公司返回)))
'
'第二到最后一行的代码
'
对于Me.counter=0到CInt((CDbl(TextBox3.Text)-2))
TextBox1.Text=CStr(CDbl(TextBox1.Text)+1)
正常保险=CDbl(CStr(正常保险+奖金))
AccBenefit=CDbl(CStr(AccBenefit+奖金))
Premium=TextBox4.Text
Tax=CDbl(文本框4.Text)*CDec(组合框1.SelectedItem)*0.01
净支出=CDbl(CDbl(TextBox4.Text)-税)
返回\u从\u LIC=CStr(0)
列表.添加(新测试(TextBox1.Text、CStr(普通保险)、CStr(账户福利)、保险费、CStr(税收)、CStr(净支出)、CStr(从保险公司返回)))
下一个
'
'最后一列的代码
'
TextBox1.Text=CStr(CDbl(TextBox1.Text)+1)
正常保险=CDbl(CStr(正常保险+奖金))
AccBenefit=CDbl(CStr(AccBenefit+奖金))
溢价=CStr(0)
税=CDbl(CStr(0))
净支出=CDbl(CStr(0))
Return_From_LIC=CStr(CDbl(TextBox2.Text)+Bonus*CDbl(TextBox3.Text))
列表.添加(新测试(TextBox1.Text、CStr(普通保险)、CStr(账户福利)、保险费、CStr(税收)、CStr(净支出)、CStr(从保险公司返回)))
'
'摘要栏的代码
'
TextBox1.Text=“总计”
正常覆盖=无
收益等于零
Premium=CStr(CDbl(TextBox4.Text)*CDbl(TextBox3.Text))
Tax=CDbl(TextBox4.Text)*CDec(ComboBox1.SelectedItem)*0.01*CDbl(TextBox3.Text)
净输出=CDbl(CDbl(CDbl(TextBox4.Text)-(CDbl(TextBox4.Text)*CDec(ComboBox1.SelectedItem)*0.01))*CDbl(TextBox3.Text))
返回\u从\u LIC=CStr(“-”)
列表.添加(新测试(TextBox1.Text、CStr(普通保险)、CStr(账户福利)、保险费、CStr(税收)、CStr(净支出)、CStr(从保险公司返回)))
DataGridView1.DataSource=列表
TextBox1.Text=Nothing
TextBox2.Text=Nothing
TextBox3.Text=Nothing
TextBox4.Text=Nothing
ComboBox1.SelectedItem=无
ComboBox2.SelectedItem=无
特例
MsgBox(“检查输入值”)
结束尝试
端接头
私有子表单1_Load(发送方作为System.Object,e作为System.EventArgs)处理MyBase.Load
'
'在表单加载时填写数据网格。
'
Me.DataGridView1.AutoSizeColumnsMode=DataGridViewAutoSizeColumnsMode.AllCells
端接头
末级
''' 
''这个类包含七个属性。
''' 
公开课考试
公共次新(ByVal年龄为字符串,ByVal正常风险为字符串_
ByVal意外险为字符串,ByVal年保费为字符串_
ByVal退税作为字符串,ByVal净支出作为字符串,ByVal退货作为字符串)
_年龄=年龄
_正常风险险=正常风险险
_意外险=意外险
_年保费=年保费
_退税=退税
_净支出=净支出
_Return\u From\u LIC=Return\u From\u LIC
端接头
Private\u年龄作为字符串
公共属性Age()作为字符串
收到
回归年龄
结束
设置(ByVal值作为字符串)
_年龄=价值
端集
端属性
私人保险(普通)(风险)(如字符串所示)
公共财产正常风险保险范围()为字符串
收到
退货(正常)(风险)(保险)
结束
设置(ByVal值作为字符串)
_正常风险保险=价值
端集
端属性
私人(意外)(风险)(如字符串所示)
公共财产意外风险保险范围()为字符串
收到
退货(意外)(风险)(保险)
结束
设置(ByVal值作为字符串)
_意外风险保险=价值
端集
端属性
私人(年费)作为字符串
公共财产年度保费()作为字符串
收到
回报(年费)
结束
设置(ByVal值作为字符串)
_年保费=价值
端集
端属性
作为字符串的私人退税
公共财产税退税()作为字符串
收到
退税
结束
设置(ByVal值作为字符串)
_退税=价值
端集
端属性
私有网络输出为字符串
公共属性Net_Outgo()作为字符串
收到
回报(净支出)
结束
设置(ByVal值作为字符串)
_净支出=价值
端集
端属性
私人返回
Option Strict On
Option Explicit On

Public Class Form1

    Dim counter As Integer
    Dim Total As String

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        Dim List = New List(Of Test)
        Try

            '
            ' Fill in the data grid with a List
            '
            '
            ' code for First Row
            '
            Dim Bonus = (CDbl(ComboBox2.SelectedItem) * CDbl(TextBox2.Text) * 0.001)
            Dim SumAssured = TextBox2.Text

            Dim NormalCover = CDbl(TextBox2.Text) + Bonus
            Dim DAB = (CDbl(CStr(TextBox2.Text)) * 2)
            Dim Premium = TextBox4.Text
            Dim Tax = (CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) * 0.01)
            Dim Net_outgo = CDbl(CDbl(TextBox4.Text) - Tax)

            Dim AccBenefit = DAB + Bonus
            Dim Return_From_LIC = CStr(0)

            List.Add(New Test(TextBox1.Text, CStr(NormalCover), CStr(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)))

            '
            ' code for Second to second Last Row
            '

            For Me.counter = 0 To CInt((CDbl(TextBox3.Text) - 2))

                TextBox1.Text = CStr(CDbl(TextBox1.Text) + 1)
                NormalCover = CDbl(CStr(NormalCover + Bonus))
                AccBenefit = CDbl(CStr(AccBenefit + Bonus))
                Premium = TextBox4.Text
                Tax = CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) * 0.01
                Net_outgo = CDbl(CDbl(TextBox4.Text) - Tax)
                Return_From_LIC = CStr(0)

                List.Add(New Test(TextBox1.Text, CStr(NormalCover), CStr(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)))


            Next

            '
            ' Code of Last column
            '

            TextBox1.Text = CStr(CDbl(TextBox1.Text) + 1)
            NormalCover = CDbl(CStr(NormalCover + Bonus))
            AccBenefit = CDbl(CStr(AccBenefit + Bonus))
            Premium = CStr(0)
            Tax = CDbl(CStr(0))
            Net_outgo = CDbl(CStr(0))
            Return_From_LIC = CStr(CDbl(TextBox2.Text) + Bonus * CDbl(TextBox3.Text))

            List.Add(New Test(TextBox1.Text, CStr(NormalCover), CStr(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)))

            '
            ' Code of Summary column
            '

            TextBox1.Text = "Total"
            NormalCover = Nothing
            AccBenefit = Nothing
            Premium = CStr(CDbl(TextBox4.Text) * CDbl(TextBox3.Text))
            Tax = CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) * 0.01 * CDbl(TextBox3.Text)
            Net_outgo = CDbl(CDbl(CDbl(TextBox4.Text) - (CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) * 0.01)) * CDbl(TextBox3.Text))
            Return_From_LIC = CStr("-")

            List.Add(New Test(TextBox1.Text, CStr(NormalCover), CStr(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)))

            DataGridView1.DataSource = List



            TextBox1.Text = Nothing
            TextBox2.Text = Nothing
            TextBox3.Text = Nothing
            TextBox4.Text = Nothing
            ComboBox1.SelectedItem = Nothing
            ComboBox2.SelectedItem = Nothing
        Catch ex As Exception
            MsgBox("Check Your Input Values")
        End Try
    End Sub

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

        '
        ' Fill in the data grid on form load.
        '


        Me.DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
    End Sub



End Class
''' <summary>
''' This class contains Seven properties.
''' </summary>
Public Class Test

    Public Sub New(ByVal Age As String, ByVal Normal_Risk_Cover As String, _
                   ByVal Accidental_Risk_Cover As String, ByVal Annual_Premium As String, _
                   ByVal Tax_Rebate As String, ByVal Net_Outgo As String, ByVal Return_From_LIC As String)
        _Age = Age
        _Normal_Risk_Cover = Normal_Risk_Cover
        _Accidental_Risk_Cover = Accidental_Risk_Cover
        _Annual_Premium = Annual_Premium
        _Tax_Rebate = Tax_Rebate
        _Net_Outgo = Net_Outgo
        _Return_From_LIC = Return_From_LIC
    End Sub

    Private _Age As String
    Public Property Age() As String
        Get
            Return _Age
        End Get
        Set(ByVal value As String)
            _Age = value
        End Set
    End Property

    Private _Normal_Risk_Cover As String
    Public Property Normal_Risk_Cover() As String
        Get
            Return _Normal_Risk_Cover
        End Get
        Set(ByVal value As String)
            _Normal_Risk_Cover = value
        End Set
    End Property
    Private _Accidental_Risk_Cover As String
    Public Property Accidental_Risk_Cover() As String
        Get
            Return _Accidental_Risk_Cover
        End Get
        Set(ByVal value As String)
            _Accidental_Risk_Cover = value
        End Set
    End Property
    Private _Annual_Premium As String
    Public Property Annual_Premium() As String
        Get
            Return _Annual_Premium
        End Get
        Set(ByVal value As String)
            _Annual_Premium = value
        End Set
    End Property
    Private _Tax_Rebate As String

    Public Property Tax_Rebate() As String
        Get
            Return _Tax_Rebate
        End Get
        Set(ByVal value As String)
            _Tax_Rebate = value
        End Set
    End Property
    Private _Net_Outgo As String
    Public Property Net_Outgo() As String
        Get
            Return _Net_Outgo
        End Get
        Set(ByVal value As String)
            _Net_Outgo = value
        End Set
    End Property

  Private _Return_From_LIC As String
    Public Property Return_From_LIC() As String
        Get
            Return _Return_From_LIC
        End Get
        Set(ByVal value As String)
            _Return_From_LIC = value
        End Set
    End Property
End Class 
Option Strict On
Option Explicit On

Imports System
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports System.IO


Public Class Form1

Dim dsPeople As New DataSet("People")
Dim dt As New DataTable
Dim counter As Integer
Dim Total As String
Dim TrueTypeFont As Object

Private Sub Button1_Click(sender As System.Object, e As  
System.EventArgs)     Handles Button1.Click
    Try
        '
        ' code for First Row
        '
        Dim Bonus = (CDbl(ComboBox2.SelectedItem) * CDbl(TextBox2.Text) *  
0.001)
        Dim SumAssured = TextBox2.Text

        Dim NormalCover = CDbl(TextBox2.Text) + Bonus
        Dim DAB = (CDbl(CStr(TextBox2.Text)) * 2)
        Dim Premium = TextBox4.Text
        Dim Tax = (CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) * 
0.01)
        Dim Net_outgo = CDbl(CDbl(TextBox4.Text) - Tax)

        Dim AccBenefit = DAB + Bonus
        Dim Return_From_LIC = CStr(0)


        dt.Rows.Add(New Object() {TextBox1.Text, CStr(NormalCover), CStr
(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)})

        '
        ' code for Second to second Last Row
        '

        For Me.counter = 0 To CInt((CDbl(TextBox3.Text) - 2))

            TextBox1.Text = CStr(CDbl(TextBox1.Text) + 1)
            NormalCover = CDbl(CStr(NormalCover + Bonus))
            AccBenefit = CDbl(CStr(AccBenefit + Bonus))
            Premium = TextBox4.Text
            Tax = CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) * 0.01
            Net_outgo = CDbl(CDbl(TextBox4.Text) - Tax)
            Return_From_LIC = CStr(0)

            dt.Rows.Add(New Object() {TextBox1.Text, CStr(NormalCover), CStr
(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)})


        Next


        '
        ' Code of Last column
        '

        TextBox1.Text = CStr(CDbl(TextBox1.Text) + 1)
        NormalCover = CDbl(CStr(NormalCover + Bonus))
        AccBenefit = CDbl(CStr(AccBenefit + Bonus))
        Premium = CStr(0)
        Tax = CDbl(CStr(0))
        Net_outgo = CDbl(CStr(0))
        Return_From_LIC = CStr(CDbl(TextBox2.Text) + Bonus * CDbl
(TextBox3.Text))

        dt.Rows.Add(New Object() {TextBox1.Text, CStr(NormalCover), CStr
(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)})

        '
        ' Code of Summary column
        '

        TextBox1.Text = "Total"
        NormalCover = Nothing
        AccBenefit = Nothing
        Premium = CStr(CDbl(TextBox4.Text) * CDbl(TextBox3.Text))
        Tax = CDbl(TextBox4.Text) * CDec(ComboBox1.SelectedItem) * 0.01 * 
CDbl(TextBox3.Text)
        Net_outgo = CDbl(CDbl(CDbl(TextBox4.Text) - (CDbl(TextBox4.Text)* 
CDec(ComboBox1.SelectedItem) * 0.01)) * CDbl(TextBox3.Text))
        Return_From_LIC = CStr("-")

        dt.Rows.Add(New Object() {TextBox1.Text, CStr(NormalCover), CStr
(AccBenefit), Premium, CStr(Tax), CStr(Net_outgo), CStr(Return_From_LIC)})

        DataGridView1.DataSource = dt

        TextBox1.Text = Nothing
        TextBox2.Text = Nothing
        TextBox3.Text = Nothing
        TextBox4.Text = Nothing
        ComboBox1.SelectedItem = Nothing
        ComboBox2.SelectedItem = Nothing

    Catch ex As Exception
        MsgBox("Check Your Input Values")
    End Try
   End Sub

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) 
Handles MyBase.Load

    '
    ' Fill in the data grid on form load.
    '

    'GetCustomers()


    dt = dsPeople.Tables.Add("dtPeople")
    'create table columns   
    dt.Columns.Add("Age", GetType(String))
    dt.Columns.Add("Natural Cover", GetType(String))
    dt.Columns.Add("Accidental Cover", GetType(String))
    dt.Columns.Add("Premium", GetType(String))
    dt.Columns.Add("Tax Rebate", GetType(String))
    dt.Columns.Add("Net Outgo", GetType(String))
    dt.Columns.Add("Return From LIC", GetType(String))




    Me.DataGridView1.AutoSizeColumnsMode = 
DataGridViewAutoSizeColumnsMode.AllCells



End Sub




 Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) 
Handles Button2.Click

    Dim bHasErrors As Boolean = False
    Dim ErrorMessage As String = ""
    Dim FileName As String = System.IO.Path.Combine
(AppDomain.CurrentDomain.BaseDirectory, "Customers.pdf")
    Dim Document As Document = New 
Document '(iTextSharp.text.PageSize.LETTER, 50, 10, 10, 10)

    Try
        PdfWriter.GetInstance(Document, New System.IO.FileStream(FileName, 
System.IO.FileMode.Create))


        Document.Open()

        Document.NewPage()
        Document.Add(New Paragraph("Hello World", FontFactory.GetFont
("Arial", 20, BaseColor.BLACK)))
        Dim ch As New Chunk("Your Policy Presentation ", FontFactory.GetFont
("Arial", 15, BaseColor.BLACK))
        Document.Add(ch)





        Dim aTable As PdfPTable

        aTable = New PdfPTable(dt.Columns.Count)
        For Each col As DataColumn In dt.Columns
            aTable.AddCell(col.ColumnName)
        Next
        Document.Add(aTable)

        For Each row As DataRow In dt.Rows
            aTable = New PdfPTable(dt.Columns.Count)

            aTable.AddCell(row.Field(Of String)("Age"))
            aTable.AddCell(row.Field(Of String)("Natural Cover"))
            aTable.AddCell(row.Field(Of String)("Accidental Cover"))
            aTable.AddCell(row.Field(Of String)("Premium"))
            aTable.AddCell(row.Field(Of String)("Tax Rebate"))
            aTable.AddCell(row.Field(Of String)("Net Outgo"))
            aTable.AddCell(row.Field(Of String)("Return From LIC"))
            'aTable.AddCell(row.Field(Of String)("Identifier"))

            Document.Add(aTable)
        Next

    Catch de As DocumentException
        bHasErrors = True
        ErrorMessage = de.Message
    Catch ioe As System.IO.IOException
        bHasErrors = True
        ErrorMessage = ioe.Message
    End Try
    Document.Close()
    If bHasErrors Then
        MessageBox.Show("Failed to create document" & Environment.NewLine & 
ErrorMessage)
    Else
        MessageBox.Show("The document" & Environment.NewLine & FileName & 
Environment.NewLine & "has been created")
    End If
    Process.Start(System.IO.Path.Combine
(AppDomain.CurrentDomain.BaseDirectory, "Customers.pdf"))
End Sub

End Class