📄 dspets.vb
字号:
End Get
End Property
Public Event PetsRowChanged As PetsRowChangeEventHandler
Public Event PetsRowChanging As PetsRowChangeEventHandler
Public Event PetsRowDeleted As PetsRowChangeEventHandler
Public Event PetsRowDeleting As PetsRowChangeEventHandler
Public Overloads Sub AddPetsRow(ByVal row As PetsRow)
Me.Rows.Add(row)
End Sub
Public Overloads Function AddPetsRow(ByVal Pet_Name As String, ByVal Friend_ID As Integer, ByVal Species As String, ByVal Age As Integer) As PetsRow
Dim rowPetsRow As PetsRow = CType(Me.NewRow,PetsRow)
rowPetsRow.ItemArray = New Object() {Pet_Name, Friend_ID, Species, Age}
Me.Rows.Add(rowPetsRow)
Return rowPetsRow
End Function
Public Function FindByPet_NameFriend_ID(ByVal Pet_Name As String, ByVal Friend_ID As Integer) As PetsRow
Return CType(Me.Rows.Find(New Object() {Pet_Name, Friend_ID}),PetsRow)
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 PetsDataTable = CType(MyBase.Clone,PetsDataTable)
cln.InitVars
Return cln
End Function
Protected Overrides Function CreateInstance() As DataTable
Return New PetsDataTable
End Function
Friend Sub InitVars()
Me.columnPet_Name = Me.Columns("Pet Name")
Me.columnFriend_ID = Me.Columns("Friend ID")
Me.columnSpecies = Me.Columns("Species")
Me.columnAge = Me.Columns("Age")
End Sub
Private Sub InitClass()
Me.columnPet_Name = New DataColumn("Pet Name", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnPet_Name)
Me.columnFriend_ID = New DataColumn("Friend ID", GetType(System.Int32), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnFriend_ID)
Me.columnSpecies = New DataColumn("Species", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnSpecies)
Me.columnAge = New DataColumn("Age", GetType(System.Int32), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnAge)
Me.Constraints.Add(New UniqueConstraint("Constraint1", New DataColumn() {Me.columnPet_Name, Me.columnFriend_ID}, true))
Me.columnPet_Name.AllowDBNull = false
Me.columnFriend_ID.AllowDBNull = false
End Sub
Public Function NewPetsRow() As PetsRow
Return CType(Me.NewRow,PetsRow)
End Function
Protected Overrides Function NewRowFromBuilder(ByVal builder As DataRowBuilder) As DataRow
Return New PetsRow(builder)
End Function
Protected Overrides Function GetRowType() As System.Type
Return GetType(PetsRow)
End Function
Protected Overrides Sub OnRowChanged(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanged(e)
If (Not (Me.PetsRowChangedEvent) Is Nothing) Then
RaiseEvent PetsRowChanged(Me, New PetsRowChangeEvent(CType(e.Row,PetsRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowChanging(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanging(e)
If (Not (Me.PetsRowChangingEvent) Is Nothing) Then
RaiseEvent PetsRowChanging(Me, New PetsRowChangeEvent(CType(e.Row,PetsRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleted(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleted(e)
If (Not (Me.PetsRowDeletedEvent) Is Nothing) Then
RaiseEvent PetsRowDeleted(Me, New PetsRowChangeEvent(CType(e.Row,PetsRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleting(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleting(e)
If (Not (Me.PetsRowDeletingEvent) Is Nothing) Then
RaiseEvent PetsRowDeleting(Me, New PetsRowChangeEvent(CType(e.Row,PetsRow), e.Action))
End If
End Sub
Public Sub RemovePetsRow(ByVal row As PetsRow)
Me.Rows.Remove(row)
End Sub
End Class
<System.Diagnostics.DebuggerStepThrough()> _
Public Class PetsRow
Inherits DataRow
Private tablePets As PetsDataTable
Friend Sub New(ByVal rb As DataRowBuilder)
MyBase.New(rb)
Me.tablePets = CType(Me.Table,PetsDataTable)
End Sub
Public Property Pet_Name As String
Get
Return CType(Me(Me.tablePets.Pet_NameColumn),String)
End Get
Set
Me(Me.tablePets.Pet_NameColumn) = value
End Set
End Property
Public Property Friend_ID As Integer
Get
Return CType(Me(Me.tablePets.Friend_IDColumn),Integer)
End Get
Set
Me(Me.tablePets.Friend_IDColumn) = value
End Set
End Property
Public Property Species As String
Get
Try
Return CType(Me(Me.tablePets.SpeciesColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tablePets.SpeciesColumn) = value
End Set
End Property
Public Property Age As Integer
Get
Try
Return CType(Me(Me.tablePets.AgeColumn),Integer)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tablePets.AgeColumn) = value
End Set
End Property
Public Function IsSpeciesNull() As Boolean
Return Me.IsNull(Me.tablePets.SpeciesColumn)
End Function
Public Sub SetSpeciesNull()
Me(Me.tablePets.SpeciesColumn) = System.Convert.DBNull
End Sub
Public Function IsAgeNull() As Boolean
Return Me.IsNull(Me.tablePets.AgeColumn)
End Function
Public Sub SetAgeNull()
Me(Me.tablePets.AgeColumn) = System.Convert.DBNull
End Sub
End Class
<System.Diagnostics.DebuggerStepThrough()> _
Public Class PetsRowChangeEvent
Inherits EventArgs
Private eventRow As PetsRow
Private eventAction As DataRowAction
Public Sub New(ByVal row As PetsRow, ByVal action As DataRowAction)
MyBase.New
Me.eventRow = row
Me.eventAction = action
End Sub
Public ReadOnly Property Row As PetsRow
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 + -