📄 dsdetails.vb
字号:
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 + -