木子屋 Dnawo's BLOG

获取DataTable单元格修改前的值示例

👤 dnawo 📅 2009-10-28 👁 7533 👍 0 💬 0 🔄 来源:本站原创
//创建 DataTable
DataTable categories = new DataTable("Categories");

//添加字段
DataColumn column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "CategoryID";
column.AutoIncrement = true;
column.AutoIncrementSeed = 1;
column.AutoIncrementStep = 1;
categories.Columns.Add(column);

column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "CategoryName";
categories.Columns.Add(column);

//设置主键
DataColumn[] pKey = new DataColumn[1];
pKey[0] = categories.Columns["CategoryID"];
categories.PrimaryKey = pKey;

//添加记录
DataRow newRow = categories.NewRow();
newRow["CategoryName"] = "Category1";
categories.Rows.Add(newRow);

newRow = categories.NewRow();
newRow["CategoryName"] = "Category2";
categories.Rows.Add(newRow);

//提交更新
categories.AcceptChanges();

for (int i = 0; i < categories.Rows.Count; i++)
    textBox1.Text += categories.Rows[i].RowState + "\r\n";
textBox1.Text += "----------------------------------\r\n";

//修改值
categories.Rows[0]["CategoryName"] = "New Category1";

for (int i = 0; i < categories.Rows.Count; i++)
    textBox1.Text += categories.Rows[i].RowState + "\r\n";
textBox1.Text += "----------------------------------\r\n";

//获取原始值(修改前的值)
if(categories.Rows[0].HasVersion(DataRowVersion.Original))
    textBox1.Text += categories.Rows[0]["CategoryName", DataRowVersion.Original];

结果:

Unchanged
Unchanged
----------------------------------
Modified
Unchanged
----------------------------------
Category1

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 SqlDataAdapter+DataTable+DataGri… 下一篇 → DataGridView数据库手动更新示例