首页 > 其他 > 详细

DataView数据变化的各种状态

时间:2019-12-31 19:40:46      阅读:122      评论:0      收藏:0      [点我收藏+]

技术分享图片/*
技术分享图片*模块名称:行状态展示
技术分享图片*实体名称:
技术分享图片*创建者:Fung
技术分享图片*创建时间:
技术分享图片*修改者:
技术分享图片*修改时间:2006-12-18
技术分享图片*说明:本程序为C#2005控制台程序;
技术分享图片 *     演示了数据表内数据变化的各种状态。
技术分享图片*/
技术分享图片
技术分享图片using System;
技术分享图片using System.Collections.Generic;
技术分享图片using System.Text;
技术分享图片using System.Data;
技术分享图片
技术分享图片namespace DataRowState
技术分享图片{
技术分享图片    class Program
技术分享图片    {
技术分享图片        static void Main(string[] args)
技术分享图片        {
技术分享图片            DemonstrateRowState();
技术分享图片        }
技术分享图片        static private void DemonstrateRowState()
技术分享图片        {
技术分享图片            // 创建一个仅有一列的空表
技术分享图片            DataTable dataTable = new DataTable("dataTable");
技术分享图片            DataColumn dataColumn = new DataColumn("dataColumn");
技术分享图片            dataTable.Columns.Add(dataColumn);
技术分享图片
技术分享图片            // 添加十行记录item 0,item 1,item 2,...,item 9
技术分享图片            DataRow dataRow;
技术分享图片            for (int i = 0; i < 10; i++)
技术分享图片            {
技术分享图片                dataRow = dataTable.NewRow();
技术分享图片                dataRow["dataColumn"] = "item " + i;
技术分享图片                dataTable.Rows.Add(dataRow);
技术分享图片            }
技术分享图片            //标记接收数据变化
技术分享图片            dataTable.AcceptChanges();
技术分享图片
技术分享图片            // 创建数据表视图
技术分享图片            DataView dataView = new DataView(dataTable);
技术分享图片
技术分享图片            // 改变一个行值
技术分享图片            dataTable.Rows[1]["dataColumn"] = "Hello";
技术分享图片
技术分享图片            // Add one row:
技术分享图片            dataRow = dataTable.NewRow();
技术分享图片            dataRow["dataColumn"] = "World";
技术分享图片            dataTable.Rows.Add(dataRow);
技术分享图片
技术分享图片            // 设置行过滤,仅显示新增的和当前改变的
技术分享图片            dataView.RowStateFilter = DataViewRowState.Added
技术分享图片                | DataViewRowState.ModifiedCurrent;
技术分享图片
技术分享图片            // 输出行为 "Hello" "World"
技术分享图片            PrintView(dataView, "ModifiedCurrent and Added");
技术分享图片
技术分享图片            // 设置过滤显示被修改行的原始值
技术分享图片            dataView.RowStateFilter = DataViewRowState.ModifiedOriginal;
技术分享图片            PrintView(dataView, "ModifiedOriginal");
技术分享图片
技术分享图片            // 删除3行
技术分享图片            dataTable.Rows[1].Delete();
技术分享图片            dataTable.Rows[2].Delete();
技术分享图片            dataTable.Rows[3].Delete();
技术分享图片
技术分享图片            // 设置行过滤显示只显示和修改 
技术分享图片            dataView.RowStateFilter = DataViewRowState.Deleted;
技术分享图片            PrintView(dataView, "Deleted");
技术分享图片
技术分享图片            //显示当前数据
技术分享图片            dataView.RowStateFilter = DataViewRowState.CurrentRows;
技术分享图片            PrintView(dataView, "Current");
技术分享图片
技术分享图片            //显示没有改变的行
技术分享图片            dataView.RowStateFilter = DataViewRowState.Unchanged;
技术分享图片            PrintView(dataView, "Unchanged");
技术分享图片
技术分享图片            //显示原始数据.
技术分享图片            dataView.RowStateFilter = DataViewRowState.OriginalRows;
技术分享图片            PrintView(dataView, "OriginalRows");
技术分享图片        }
技术分享图片
技术分享图片        static private void PrintView(DataView dataView, string label)
技术分享图片        {
技术分享图片            Console.WriteLine(" " + label);
技术分享图片            for (int i = 0; i < dataView.Count; i++)
技术分享图片            {
技术分享图片                Console.WriteLine(dataView[i]["dataColumn"]);
技术分享图片            }
技术分享图片        }
技术分享图片    }
技术分享图片}

 

运行结果:

技术分享图片

DataView数据变化的各种状态

原文:https://www.cnblogs.com/ljs-13/p/12126426.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!