⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsdetails.vb

📁 Mastering VBNet Include Source Code
💻 VB
📖 第 1 页 / 共 2 页
字号:
                Return CType(Me.Rows(index),Order_DetailsRow)
            End Get
        End Property
        
        Public Event Order_DetailsRowChanged As Order_DetailsRowChangeEventHandler
        
        Public Event Order_DetailsRowChanging As Order_DetailsRowChangeEventHandler
        
        Public Event Order_DetailsRowDeleted As Order_DetailsRowChangeEventHandler
        
        Public Event Order_DetailsRowDeleting As Order_DetailsRowChangeEventHandler
        
        Public Overloads Sub AddOrder_DetailsRow(ByVal row As Order_DetailsRow)
            Me.Rows.Add(row)
        End Sub
        
        Public Overloads Function AddOrder_DetailsRow(ByVal OrderID As Integer, ByVal ProductID As Integer, ByVal UnitPrice As Decimal, ByVal Quantity As Short, ByVal Discount As Single, ByVal ProductName As String, ByVal Total As Single) As Order_DetailsRow
            Dim rowOrder_DetailsRow As Order_DetailsRow = CType(Me.NewRow,Order_DetailsRow)
            rowOrder_DetailsRow.ItemArray = New Object() {OrderID, ProductID, UnitPrice, Quantity, Discount, ProductName, Total}
            Me.Rows.Add(rowOrder_DetailsRow)
            Return rowOrder_DetailsRow
        End Function
        
        Public Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
            Return Me.Rows.GetEnumerator
        End Function
        
        Public Overrides Function Clone() As DataTable
            Dim cln As Order_DetailsDataTable = CType(MyBase.Clone,Order_DetailsDataTable)
            cln.InitVars
            Return cln
        End Function
        
        Friend Sub InitVars()
            Me.columnOrderID = Me.Columns("OrderID")
            Me.columnProductID = Me.Columns("ProductID")
            Me.columnUnitPrice = Me.Columns("UnitPrice")
            Me.columnQuantity = Me.Columns("Quantity")
            Me.columnDiscount = Me.Columns("Discount")
            Me.columnProductName = Me.Columns("ProductName")
            Me.columnTotal = Me.Columns("Total")
        End Sub
        
        Private Sub InitClass()
            Me.columnOrderID = New DataColumn("OrderID", GetType(System.Int32), "", System.Data.MappingType.Element)
            Me.Columns.Add(Me.columnOrderID)
            Me.columnProductID = New DataColumn("ProductID", GetType(System.Int32), "", System.Data.MappingType.Element)
            Me.Columns.Add(Me.columnProductID)
            Me.columnUnitPrice = New DataColumn("UnitPrice", GetType(System.Decimal), "", System.Data.MappingType.Element)
            Me.Columns.Add(Me.columnUnitPrice)
            Me.columnQuantity = New DataColumn("Quantity", GetType(System.Int16), "", System.Data.MappingType.Element)
            Me.Columns.Add(Me.columnQuantity)
            Me.columnDiscount = New DataColumn("Discount", GetType(System.Single), "", System.Data.MappingType.Element)
            Me.Columns.Add(Me.columnDiscount)
            Me.columnProductName = New DataColumn("ProductName", GetType(System.String), "", System.Data.MappingType.Element)
            Me.Columns.Add(Me.columnProductName)
            Me.columnTotal = New DataColumn("Total", GetType(System.Single), "", System.Data.MappingType.Element)
            Me.Columns.Add(Me.columnTotal)
            Me.columnOrderID.AllowDBNull = false
            Me.columnProductID.AllowDBNull = false
            Me.columnUnitPrice.AllowDBNull = false
            Me.columnQuantity.AllowDBNull = false
            Me.columnDiscount.AllowDBNull = false
            Me.columnProductName.AllowDBNull = false
            Me.columnTotal.ReadOnly = true
        End Sub
        
        Public Function NewOrder_DetailsRow() As Order_DetailsRow
            Return CType(Me.NewRow,Order_DetailsRow)
        End Function
        
        Protected Overrides Function NewRowFromBuilder(ByVal builder As DataRowBuilder) As DataRow
            Return New Order_DetailsRow(builder)
        End Function
        
        Protected Overrides Function GetRowType() As System.Type
            Return GetType(Order_DetailsRow)
        End Function
        
        Protected Overrides Sub OnRowChanged(ByVal e As DataRowChangeEventArgs)
            MyBase.OnRowChanged(e)
            If (Not (Me.Order_DetailsRowChangedEvent) Is Nothing) Then
                RaiseEvent Order_DetailsRowChanged(Me, New Order_DetailsRowChangeEvent(CType(e.Row,Order_DetailsRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowChanging(ByVal e As DataRowChangeEventArgs)
            MyBase.OnRowChanging(e)
            If (Not (Me.Order_DetailsRowChangingEvent) Is Nothing) Then
                RaiseEvent Order_DetailsRowChanging(Me, New Order_DetailsRowChangeEvent(CType(e.Row,Order_DetailsRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleted(ByVal e As DataRowChangeEventArgs)
            MyBase.OnRowDeleted(e)
            If (Not (Me.Order_DetailsRowDeletedEvent) Is Nothing) Then
                RaiseEvent Order_DetailsRowDeleted(Me, New Order_DetailsRowChangeEvent(CType(e.Row,Order_DetailsRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleting(ByVal e As DataRowChangeEventArgs)
            MyBase.OnRowDeleting(e)
            If (Not (Me.Order_DetailsRowDeletingEvent) Is Nothing) Then
                RaiseEvent Order_DetailsRowDeleting(Me, New Order_DetailsRowChangeEvent(CType(e.Row,Order_DetailsRow), e.Action))
            End If
        End Sub
        
        Public Sub RemoveOrder_DetailsRow(ByVal row As Order_DetailsRow)
            Me.Rows.Remove(row)
        End Sub
    End Class
    
    <System.Diagnostics.DebuggerStepThrough()>  _
    Public Class Order_DetailsRow
        Inherits DataRow
        
        Private tableOrder_Details As Order_DetailsDataTable
        
        Friend Sub New(ByVal rb As DataRowBuilder)
            MyBase.New(rb)
            Me.tableOrder_Details = CType(Me.Table,Order_DetailsDataTable)
        End Sub
        
        Public Property OrderID As Integer
            Get
                Return CType(Me(Me.tableOrder_Details.OrderIDColumn),Integer)
            End Get
            Set
                Me(Me.tableOrder_Details.OrderIDColumn) = value
            End Set
        End Property
        
        Public Property ProductID As Integer
            Get
                Return CType(Me(Me.tableOrder_Details.ProductIDColumn),Integer)
            End Get
            Set
                Me(Me.tableOrder_Details.ProductIDColumn) = value
            End Set
        End Property
        
        Public Property UnitPrice As Decimal
            Get
                Return CType(Me(Me.tableOrder_Details.UnitPriceColumn),Decimal)
            End Get
            Set
                Me(Me.tableOrder_Details.UnitPriceColumn) = value
            End Set
        End Property
        
        Public Property Quantity As Short
            Get
                Return CType(Me(Me.tableOrder_Details.QuantityColumn),Short)
            End Get
            Set
                Me(Me.tableOrder_Details.QuantityColumn) = value
            End Set
        End Property
        
        Public Property Discount As Single
            Get
                Return CType(Me(Me.tableOrder_Details.DiscountColumn),Single)
            End Get
            Set
                Me(Me.tableOrder_Details.DiscountColumn) = value
            End Set
        End Property
        
        Public Property ProductName As String
            Get
                Return CType(Me(Me.tableOrder_Details.ProductNameColumn),String)
            End Get
            Set
                Me(Me.tableOrder_Details.ProductNameColumn) = value
            End Set
        End Property
        
        Public Property Total As Single
            Get
                Try 
                    Return CType(Me(Me.tableOrder_Details.TotalColumn),Single)
                Catch e As InvalidCastException
                    Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrder_Details.TotalColumn) = value
            End Set
        End Property
        
        Public Function IsTotalNull() As Boolean
            Return Me.IsNull(Me.tableOrder_Details.TotalColumn)
        End Function
        
        Public Sub SetTotalNull()
            Me(Me.tableOrder_Details.TotalColumn) = System.Convert.DBNull
        End Sub
    End Class
    
    <System.Diagnostics.DebuggerStepThrough()>  _
    Public Class Order_DetailsRowChangeEvent
        Inherits EventArgs
        
        Private eventRow As Order_DetailsRow
        
        Private eventAction As DataRowAction
        
        Public Sub New(ByVal row As Order_DetailsRow, ByVal action As DataRowAction)
            MyBase.New
            Me.eventRow = row
            Me.eventAction = action
        End Sub
        
        Public ReadOnly Property Row As Order_DetailsRow
            Get
                Return Me.eventRow
            End Get
        End Property
        
        Public ReadOnly Property Action As DataRowAction
            Get
                Return Me.eventAction
            End Get
        End Property
    End Class
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -