VB.Net/GUI/DataRow

Материал из VB Эксперт
Версия от 15:43, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

DataRow Collection View

<source lang="vbnet"> 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


 </source>