2010年7月21日 星期三

DataRow Update

DataRow Update
DataRow Update
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.Common;

public class DataRowUpdateState : System.Windows.Forms.Form
{
private System.Windows.Forms.DataGrid dataGrid1;
private System.ComponentModel.Container components = null;

public DataRowUpdateState()
{
InitializeComponent();
CreateCustomersTable();
}

protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

private void InitializeComponent()
{
this.dataGrid1 = new System.Windows.Forms.DataGrid();
((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
this.SuspendLayout();
//
// dataGrid1
//
this.dataGrid1.DataMember = "";
this.dataGrid1.Location = new System.Drawing.Point(8, 8);
this.dataGrid1.Name = "dataGrid1";
this.dataGrid1.Size = new System.Drawing.Size(416, 296);
this.dataGrid1.TabIndex = 0;
//
// DataRowUpdateState
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(432, 309);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.dataGrid1});
this.Name = "DataRowUpdateState";
this.Text = "DataRowUpdateState";
((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
this.ResumeLayout(false);

}

[STAThread]
static void Main()
{
Application.Run(new DataRowUpdateState());
}

private void CreateCustomersTable()
{
System.Data.DataTable custTable = new DataTable("Customers");
DataColumn dtColumn;

dtColumn = new DataColumn();
dtColumn.DataType = System.Type.GetType("System.Int32");
dtColumn.ColumnName = "id";
dtColumn.Caption = "Cust ID";
dtColumn.ReadOnly = true;
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;
// Add Address column to the table.
custTable.Columns.Add(dtColumn);

DataColumn[] PrimaryKeyColumns = new DataColumn[1];
PrimaryKeyColumns[0] = custTable.Columns["id"];
custTable.PrimaryKey = PrimaryKeyColumns;

DataSet ds = new DataSet("Customers");
ds.Tables.Add(custTable);

DataRow row1 = custTable.NewRow();
row1["id"] = 1;
row1["Address"] = "USA";
row1["Name"] = "George";
custTable.Rows.Add(row1);

MessageBox.Show(row1.RowState.ToString());
row1.RejectChanges();
MessageBox.Show(row1.RowState.ToString());
row1.Delete();
MessageBox.Show(row1.RowState.ToString());

dataGrid1.DataSource = ds.DefaultViewManager;
}
}

沒有留言: