DataView的属性DataViewRowState对应各个状态的不同输出

创建控制台程序运行

static void Main(string[] args)
        {
            // Create a DataTable with one column.
            DataTable dataTable = new DataTable("dataTable");
            DataColumn dataColumn = new DataColumn("dataColumn");
            dataTable.Columns.Add(dataColumn);

            // Add ten rows.
            DataRow dataRow;
            for (int i = 0; i < 10; i++)
            {
                dataRow = dataTable.NewRow();
                dataRow["dataColumn"] = "item " + i;
                dataTable.Rows.Add(dataRow);
            }
            dataTable.AcceptChanges();

            // Create a DataView with the table.
            DataView dataView = new DataView(dataTable);

            // Change one row's value:
            dataTable.Rows[1]["dataColumn"] = "Hello";

            // Add one row:
            dataRow = dataTable.NewRow();
            dataRow["dataColumn"] = "World";
            dataTable.Rows.Add(dataRow);

            // Set the RowStateFilter to display only added and modified rows.
            dataView.RowStateFilter = DataViewRowState.Added
                | DataViewRowState.ModifiedCurrent;

            // Print those rows. Output = "Hello" "World";
            PrintView(dataView, "ModifiedCurrent and Added");

            // Set filter to display on originals of modified rows.
            dataView.RowStateFilter = DataViewRowState.ModifiedOriginal;
            PrintView(dataView, "ModifiedOriginal");

            // Delete three rows.
            dataTable.Rows[1].Delete();
            dataTable.Rows[2].Delete();
            dataTable.Rows[3].Delete();

            // Set the RowStateFilter to display only Added and modified rows.
            dataView.RowStateFilter = DataViewRowState.Deleted;
            PrintView(dataView, "Deleted");

            //Set filter to display only current.
            dataView.RowStateFilter = DataViewRowState.CurrentRows;
            PrintView(dataView, "Current");

            // Set filter to display only unchanged rows.
            dataView.RowStateFilter = DataViewRowState.Unchanged;
            PrintView(dataView, "Unchanged");

            // Set filter to display only original rows.
            dataView.RowStateFilter = DataViewRowState.OriginalRows;
            PrintView(dataView, "OriginalRows");
            Console.ReadKey();
        }

        static private void PrintView(DataView dataView, string label)
        {
            Console.WriteLine("\n" + label);
            for (int i = 0; i < dataView.Count; i++)
            {
               Console.WriteLine(dataView[i]["dataColumn"]);
               Console.WriteLine("\n");
            }
        }

 

运行结果:

转载于:https://www.cnblogs.com/pinnasky/archive/2010/10/21/1857389.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值