VB.Net/GUI/DataRow
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>