VB.Net/GUI/DataRow — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 16:40, 26 мая 2010
DataRow Collection View
Imports System.Windows.Forms
Public Class Form1
Inherits System.Windows.Forms.Form
Private dtSet As DataSet
Private custTable As DataTable
Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid
Public Shared Sub Main()
Application.Run(New Form1())
End Sub
Public Sub New()
MyBase.New()
Me.DataGrid1 = New System.Windows.Forms.DataGrid()
CType(Me.DataGrid1, System.ruponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
"
Me.DataGrid1.DataMember = ""
Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.DataGrid1.Location = New System.Drawing.Point(8, 8)
Me.DataGrid1.Name = "DataGrid1"
Me.DataGrid1.Size = New System.Drawing.Size(320, 256)
Me.DataGrid1.TabIndex = 0
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(344, 273)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.DataGrid1})
CType(Me.DataGrid1, System.ruponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
custTable = New DataTable("Customers")
Dim dtColumn As DataColumn
Dim myDataRow As DataRow
dtColumn = New DataColumn()
dtColumn.DataType = System.Type.GetType("System.Int32")
dtColumn.ColumnName = "id"
dtColumn.Caption = "Cust ID"
dtColumn.ReadOnly = False
dtColumn.Unique = True
custTable.Columns.Add(dtColumn)
dtColumn = New DataColumn()
dtColumn.DataType = System.Type.GetType("System.String")
dtColumn.ColumnName = "Name"
dtColumn.Caption = "Cust Name"
dtColumn.AutoIncrement = False
dtColumn.ReadOnly = False
dtColumn.Unique = False
custTable.Columns.Add(dtColumn)
dtColumn = New DataColumn()
dtColumn.DataType = System.Type.GetType("System.String")
dtColumn.ColumnName = "Address"
dtColumn.Caption = "Address"
dtColumn.ReadOnly = False
dtColumn.Unique = False
custTable.Columns.Add(dtColumn)
Dim PrimaryKeyColumns() As DataColumn = New DataColumn(1) {}
PrimaryKeyColumns(0) = custTable.Columns("id")
custTable.PrimaryKey = PrimaryKeyColumns
dtSet = New DataSet("Customers")
dtSet.Tables.Add(custTable)
myDataRow = custTable.NewRow()
myDataRow("id") = 1001
myDataRow("Address") = "CA"
myDataRow("Name") = "G"
custTable.Rows.Add(myDataRow)
myDataRow = custTable.NewRow()
myDataRow("id") = 1002
myDataRow("Name") = "R"
myDataRow("Address") = "CA"
custTable.Rows.Add(myDataRow)
myDataRow = custTable.NewRow()
myDataRow("id") = 1003
myDataRow("Name") = "A"
myDataRow("Address") = "CA"
custTable.Rows.Add(myDataRow)
Dim rows As DataRowCollection = custTable.Rows
Dim counter As Integer
counter = rows.Count
Dim row As DataRow
If rows.Contains(1002) Then
row = rows.Find(1002)
rows.Remove(row)
MessageBox.Show("Row Removed")
Else
MessageBox.Show("Row not found")
End If
Dim newRow As DataRow
newRow = custTable.NewRow()
newRow("id") = 1005
newRow("Address") = "New Address"
newRow("Name") = "New Name"
rows.InsertAt(newRow, 3)
If (Not rows(1).IsNull("id")) Then
rows.RemoveAt(1)
End If
MessageBox.Show(counter.ToString())
DataGrid1.DataSource = dtSet.DefaultViewManager
End Sub
End Class