Link to home
Start Free TrialLog in
Avatar of MBHEY131
MBHEY131

asked on

Referencing a (dataset variable in code)

vs2012 vb.net
Here's me code:
    Public Sub btnApply_Click(sender As Object, e As EventArgs) Handles btnApply.Click

        Dim frm As New RO_PartsL1
        Dim dstest As System.Data.DataSet = New Database1DataSet11
        dstest.Tables("PrtsLn1").Columns.Add("Parts_QuantitySold")
        Dim i As Integer = 0
        Dim TtlPrtsSellingPriceLn1 As Decimal = 0
        Dim TtlPrtsCostLn1 As Decimal = 0

        For Each row As DataGridViewRow In DataGridView1.Rows
            Dim chkboxcell As DataGridViewCheckBoxCell = row.Cells("Parts_PutOnRO")

            If chkboxcell.Value = True Then

                Dim m_PartNum_ForRO As String = Me.Database1DataSet11.Tables("PartsInv").Rows(i).Item("Parts_Num")
                Dim m_PartDesc_ForRO As String = Me.Database1DataSet11.Tables("PartsInv").Rows(i).Item("Parts_Desc")
                Dim m_SoldQty_ForRO As Decimal = 1
                Dim m_SellingPrice_ForRO As Decimal = Me.Database1DataSet11.Tables("PartsInv").Rows(i).Item("Parts_List")
                Dim m_PartCost_ForRO As Decimal = Me.Database1DataSet11.Tables("PartsInv").Rows(i).Item("Parts_Cost")

                'Your insert query to save to database table

                Dim myDr As DataRow

                myDr = dstest.Tables("PrtsLn1").NewRow()

                myDr("Parts_Num") = m_PartNum_ForRO
                myDr("Parts_Desc") = m_PartDesc_ForRO
                myDr("Parts_QuantitySold") = m_SoldQty_ForRO

                myDr("Parts_SellingPrice") = m_SellingPrice_ForRO
                TtlPrtsSellingPriceLn1 = TtlPrtsSellingPriceLn1 + m_SellingPrice_ForRO

                myDr("Parts_Cost") = m_PartCost_ForRO
                TtlPrtsCostLn1 = TtlPrtsCostLn1 + m_PartCost_ForRO

                dstest.Tables("PrtsLn1").Rows.Add(myDr)

            End If

            i = i + 1

        Next

        If TtlPrtsSellingPriceLn1 <> 0 Then
            UpdtePrtsSellingPriceLn1(TtlPrtsSellingPriceLn1)
        Else

        End If

        If TtlPrtsCostLn1 <> 0 Then
            UpdtePrtsCostLn1(TtlPrtsCostLn1)
        Else

        End If

        'TODO: This line of code loads data into the 'Database1DataSet11.PrtsLn1' table. You can move, or remove it, as needed.
        frm.DGV_Line1.DataSource = dstest.Tables("PrtsLn1")
        Me.Close()
        frm.Show()
    End Sub

everything seems to be working up to here
? is when I exit the "SUB" - How do I reference the DATA IN "frm.DGV_Line1.DataSource = dstest.Tables("PrtsLn1")"
if "dstest" is a block declared VARIABLE "data in the datagridview I mean"
I don't want to declare it DSTEST as a Global variable if I don't have to.
ASKER CERTIFIED SOLUTION
Avatar of Daniel Wilson
Daniel Wilson
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of it_saige
You don't have to make it a global variable in that all classes and assemblies within the project can access it.  Rather, you would make it global to the class it exists in.  Consider the following:
Module Module1
	Private classLevelVariable As String = "I am a class\module level variable.  I can be changed by any method in the class\module."

	Sub Main()
		Console.WriteLine(classLevelVariable)
		Method1()
		Console.WriteLine(classLevelVariable)
		Console.ReadLine()
	End Sub

	Sub Method1()
		Dim method1LevelVariable As String = "I am a method level variable.  I can only be changed within the method I am declared."
		Console.WriteLine(method1LevelVariable)
		classLevelVariable = "Method1 has changed my value."
	End Sub
End Module

Open in new window

Which produces the following output -User generated image-saige-
Avatar of MBHEY131
MBHEY131

ASKER

don't like using Global Variables but I have to access that data from another form