ds.vb
来自「是一个工资的管理系统 利用的是VB.NET和sql2000来完成的」· VB 代码 · 共 439 行 · 第 1/2 页
VB
439 行
Public Event 视图RowDeleted As 视图RowChangeEventHandler
Public Event 视图RowDeleting As 视图RowChangeEventHandler
Public Overloads Sub Add视图Row(ByVal row As 视图Row)
Me.Rows.Add(row)
End Sub
Public Overloads Function Add视图Row(ByVal sno As String, ByVal sname As String, ByVal cno As String, ByVal cname As String, ByVal grade As String) As 视图Row
Dim row视图Row As 视图Row = CType(Me.NewRow,视图Row)
row视图Row.ItemArray = New Object() {sno, sname, cno, cname, grade}
Me.Rows.Add(row视图Row)
Return row视图Row
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 视图DataTable = CType(MyBase.Clone,视图DataTable)
cln.InitVars
Return cln
End Function
Protected Overrides Function CreateInstance() As DataTable
Return New 视图DataTable
End Function
Friend Sub InitVars()
Me.columnsno = Me.Columns("sno")
Me.columnsname = Me.Columns("sname")
Me.columncno = Me.Columns("cno")
Me.columncname = Me.Columns("cname")
Me.columngrade = Me.Columns("grade")
End Sub
Private Sub InitClass()
Me.columnsno = New DataColumn("sno", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnsno)
Me.columnsname = New DataColumn("sname", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columnsname)
Me.columncno = New DataColumn("cno", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columncno)
Me.columncname = New DataColumn("cname", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columncname)
Me.columngrade = New DataColumn("grade", GetType(System.String), Nothing, System.Data.MappingType.Element)
Me.Columns.Add(Me.columngrade)
Me.columnsno.AllowDBNull = false
Me.columncno.AllowDBNull = false
End Sub
Public Function New视图Row() As 视图Row
Return CType(Me.NewRow,视图Row)
End Function
Protected Overrides Function NewRowFromBuilder(ByVal builder As DataRowBuilder) As DataRow
Return New 视图Row(builder)
End Function
Protected Overrides Function GetRowType() As System.Type
Return GetType(视图Row)
End Function
Protected Overrides Sub OnRowChanged(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanged(e)
If (Not (Me.视图RowChangedEvent) Is Nothing) Then
RaiseEvent 视图RowChanged(Me, New 视图RowChangeEvent(CType(e.Row,视图Row), e.Action))
End If
End Sub
Protected Overrides Sub OnRowChanging(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowChanging(e)
If (Not (Me.视图RowChangingEvent) Is Nothing) Then
RaiseEvent 视图RowChanging(Me, New 视图RowChangeEvent(CType(e.Row,视图Row), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleted(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleted(e)
If (Not (Me.视图RowDeletedEvent) Is Nothing) Then
RaiseEvent 视图RowDeleted(Me, New 视图RowChangeEvent(CType(e.Row,视图Row), e.Action))
End If
End Sub
Protected Overrides Sub OnRowDeleting(ByVal e As DataRowChangeEventArgs)
MyBase.OnRowDeleting(e)
If (Not (Me.视图RowDeletingEvent) Is Nothing) Then
RaiseEvent 视图RowDeleting(Me, New 视图RowChangeEvent(CType(e.Row,视图Row), e.Action))
End If
End Sub
Public Sub Remove视图Row(ByVal row As 视图Row)
Me.Rows.Remove(row)
End Sub
End Class
<System.Diagnostics.DebuggerStepThrough()> _
Public Class 视图Row
Inherits DataRow
Private table视图 As 视图DataTable
Friend Sub New(ByVal rb As DataRowBuilder)
MyBase.New(rb)
Me.table视图 = CType(Me.Table,视图DataTable)
End Sub
Public Property sno As String
Get
Return CType(Me(Me.table视图.snoColumn),String)
End Get
Set
Me(Me.table视图.snoColumn) = value
End Set
End Property
Public Property sname As String
Get
Try
Return CType(Me(Me.table视图.snameColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("无法获取值,因为它是 DBNull。", e)
End Try
End Get
Set
Me(Me.table视图.snameColumn) = value
End Set
End Property
Public Property cno As String
Get
Return CType(Me(Me.table视图.cnoColumn),String)
End Get
Set
Me(Me.table视图.cnoColumn) = value
End Set
End Property
Public Property cname As String
Get
Try
Return CType(Me(Me.table视图.cnameColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("无法获取值,因为它是 DBNull。", e)
End Try
End Get
Set
Me(Me.table视图.cnameColumn) = value
End Set
End Property
Public Property grade As String
Get
Try
Return CType(Me(Me.table视图.gradeColumn),String)
Catch e As InvalidCastException
Throw New StrongTypingException("无法获取值,因为它是 DBNull。", e)
End Try
End Get
Set
Me(Me.table视图.gradeColumn) = value
End Set
End Property
Public Function IssnameNull() As Boolean
Return Me.IsNull(Me.table视图.snameColumn)
End Function
Public Sub SetsnameNull()
Me(Me.table视图.snameColumn) = System.Convert.DBNull
End Sub
Public Function IscnameNull() As Boolean
Return Me.IsNull(Me.table视图.cnameColumn)
End Function
Public Sub SetcnameNull()
Me(Me.table视图.cnameColumn) = System.Convert.DBNull
End Sub
Public Function IsgradeNull() As Boolean
Return Me.IsNull(Me.table视图.gradeColumn)
End Function
Public Sub SetgradeNull()
Me(Me.table视图.gradeColumn) = System.Convert.DBNull
End Sub
End Class
<System.Diagnostics.DebuggerStepThrough()> _
Public Class 视图RowChangeEvent
Inherits EventArgs
Private eventRow As 视图Row
Private eventAction As DataRowAction
Public Sub New(ByVal row As 视图Row, ByVal action As DataRowAction)
MyBase.New
Me.eventRow = row
Me.eventAction = action
End Sub
Public ReadOnly Property Row As 视图Row
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 + =
减小字号Ctrl + -
显示快捷键?