📄 test.vb
字号:
Me.Columns.Add(Me.columnType)
Me.columnQty = New DataColumn("Qty", GetType(System.Decimal), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnQty)
Me.column_Date = New DataColumn("Date", GetType(System.DateTime), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.column_Date)
End Sub
Public Function NewtestRow() As testRow
Return CType(Me.NewRow,testRow)
End Function
Protected Overrides Function NewRowFromBuilder(ByVal builder As DataRowBuilder) As DataRow
Return New testRow(builder)
End Function
Protected Overrides Function GetRowType() As System.Type
Return GetType(testRow)
End Function
Protected Overrides Sub OnRowChanged(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanged(e)
If (Not (Me.testRowChangedEvent) Is Nothing) Then
RaiseEvent testRowChanged(Me, New testRowChangeEvent(CType(e.Row,testRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowChanging(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanging(e)
If (Not (Me.testRowChangingEvent) Is Nothing) Then
RaiseEvent testRowChanging(Me, New testRowChangeEvent(CType(e.Row,testRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleted(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleted(e)
If (Not (Me.testRowDeletedEvent) Is Nothing) Then
RaiseEvent testRowDeleted(Me, New testRowChangeEvent(CType(e.Row,testRow), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleting(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleting(e)
If (Not (Me.testRowDeletingEvent) Is Nothing) Then
RaiseEvent testRowDeleting(Me, New testRowChangeEvent(CType(e.Row,testRow), e.Action))
End If
End Sub
Public Sub RemovetestRow(ByVal row As testRow)
Me.Rows.Remove(row)
End Sub
End Class
<System.Diagnostics.DebuggerStepThrough()> _
Public Class testRow
Inherits DataRow
Private tabletest As testDataTable
Friend Sub New(ByVal rb As DataRowBuilder)
MyBase.New(rb)
Me.tabletest = CType(Me.Table,testDataTable)
End Sub
Public Property PartCode As String
Get
Try
Return CType(Me(Me.tabletest.PartCodeColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tabletest.PartCodeColumn) = value
End Set
End Property
Public Property Type As String
Get
Try
Return CType(Me(Me.tabletest.TypeColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tabletest.TypeColumn) = value
End Set
End Property
Public Property Qty As Decimal
Get
Try
Return CType(Me(Me.tabletest.QtyColumn),Decimal)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tabletest.QtyColumn) = value
End Set
End Property
Public Property _Date As Date
Get
Try
Return CType(Me(Me.tabletest._DateColumn),Date)
Catch e As InvalidCastException
Throw New StrongTypingException("Cannot get value because it is DBNull.", e)
End Try
End Get
Set
Me(Me.tabletest._DateColumn) = value
End Set
End Property
Public Function IsPartCodeNull() As Boolean
Return Me.IsNull(Me.tabletest.PartCodeColumn)
End Function
Public Sub SetPartCodeNull()
Me(Me.tabletest.PartCodeColumn) = System.Convert.DBNull
End Sub
Public Function IsTypeNull() As Boolean
Return Me.IsNull(Me.tabletest.TypeColumn)
End Function
Public Sub SetTypeNull()
Me(Me.tabletest.TypeColumn) = System.Convert.DBNull
End Sub
Public Function IsQtyNull() As Boolean
Return Me.IsNull(Me.tabletest.QtyColumn)
End Function
Public Sub SetQtyNull()
Me(Me.tabletest.QtyColumn) = System.Convert.DBNull
End Sub
Public Function Is_DateNull() As Boolean
Return Me.IsNull(Me.tabletest._DateColumn)
End Function
Public Sub Set_DateNull()
Me(Me.tabletest._DateColumn) = System.Convert.DBNull
End Sub
End Class
<System.Diagnostics.DebuggerStepThrough()> _
Public Class testRowChangeEvent
Inherits EventArgs
Private eventRow As testRow
Private eventAction As DataRowAction
Public Sub New(ByVal row As testRow, ByVal action As DataRowAction)
MyBase.New
Me.eventRow = row
Me.eventAction = action
End Sub
Public ReadOnly Property Row As testRow
Get
Return Me.eventRow
End Get
End Property
Public ReadOnly Property Action As DataRowAction
Get
Return Me.eventAction
End Get
End Property
End Class
<System.Diagnostics.DebuggerStepThrough()> _
Public Class test2DataTable
Inherits DataTable
Implements System.Collections.IEnumerable
Private columnDesc As DataColumn
Private columnMonth As DataColumn
Private columnSignal As DataColumn
Private columnWeekNo As DataColumn
Private columnMCNo As DataColumn
Private columnModel As DataColumn
Private columnSN As DataColumn
Friend Sub New()
MyBase.New("test2")
Me.InitClass
End Sub
Friend Sub New(ByVal table As DataTable)
MyBase.New(table.TableName)
If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
Me.CaseSensitive = table.CaseSensitive
End If
If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
Me.Locale = table.Locale
End If
If (table.Namespace <> table.DataSet.Namespace) Then
Me.Namespace = table.Namespace
End If
Me.Prefix = table.Prefix
Me.MinimumCapacity = table.MinimumCapacity
Me.DisplayExpression = table.DisplayExpression
End Sub
<System.ComponentModel.Browsable(false)> _
Public ReadOnly Property Count As Integer
Get
Return Me.Rows.Count
End Get
End Property
Friend ReadOnly Property DescColumn As DataColumn
Get
Return Me.columnDesc
End Get
End Property
Friend ReadOnly Property MonthColumn As DataColumn
Get
Return Me.columnMonth
End Get
End Property
Friend ReadOnly Property SignalColumn As DataColumn
Get
Return Me.columnSignal
End Get
End Property
Friend ReadOnly Property WeekNoColumn As DataColumn
Get
Return Me.columnWeekNo
End Get
End Property
Friend ReadOnly Property MCNoColumn As DataColumn
Get
Return Me.columnMCNo
End Get
End Property
Friend ReadOnly Property ModelColumn As DataColumn
Get
Return Me.columnModel
End Get
End Property
Friend ReadOnly Property SNColumn As DataColumn
Get
Return Me.columnSN
End Get
End Property
Public Default ReadOnly Property Item(ByVal index As Integer) As test2Row
Get
Return CType(Me.Rows(index),test2Row)
End Get
End Property
Public Event test2RowChanged As test2RowChangeEventHandler
Public Event test2RowChanging As test2RowChangeEventHandler
Public Event test2RowDeleted As test2RowChangeEventHandler
Public Event test2RowDeleting As test2RowChangeEventHandler
Public Overloads Sub Addtest2Row(ByVal row As test2Row)
Me.Rows.Add(row)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -