Dataview 与 DataRowView

 

//创建和声明DataTable对象
DataTable  total=new DataTable();
//给DataTable对象添加DataColumn对象
total.Columns.Add(new DataColumn("班组",typeof(string)));
total.Columns.Add(new DataColumn("姓名",typeof(string)));
total.Columns.Add(new DataColumn("学科",typeof(string)));
total.Columns.Add(new DataColumn("成绩",typeof(int)));
//声明DataRow对象
DataRow dr=total.NewRow();
//给DataRow对象中的各列赋值
dr["班组"]= "一班";
dr["姓名"]= " 李宏";
dr["学科"]= "语文 ";
dr["成绩"]=98;
//将DataRow对象添加到DataTable对象中
total.Rows.Add(dr);
dr=total.NewRow();
dr["班组"]= "一班";
dr["姓名"]= " 刘京生";
dr["学科"]= "语文 ";
dr["成绩"]=96;
total.Rows.Add(dr);
//创建DataView对象,DataView对象的数据从DataTable对象中获得
DataView dv=new DataView(total);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
一、将DataRowView对象添加进DataView对象中
DataRowView drv=dv.AddNew();
drv["班组"]= "一班";
drv[“姓名”]= “ 赵刚";
drv["学科"]= "语文 ";
drv[“成绩”]=99;
//结束编辑 可以调用DataRowView的CancelEdit()方法取消插入
Drv.EndEdit();
二、修改现有的DataRowView对象
//开始编辑
dv[2].BeginEdit();
//修改列值
dv[2][“成绩”]=98;
//对束编辑可以调用DataRowView的CancelEdit()方法取消修改
dv[2].EndEdit();
利用DataRowView的IsNew和IsEdit属性来检测DataRowView是否为新行或是否被编辑过。
三、删除现有的DataRowView对象
//调用DataView的Delete()方法,传入要删除的DataRowView的索引值
dv.Delete(1);
//调用DataRowView的Delete()方法删除
dv[1].Delete();
//调用DataTable的AcceptChanges()方法永久删除基础DataRow。
dt.AcceptChanges();
要取消删除,可以调用DataTable的RejectChanges()方法取消删除,从而取消未提交的增加与修改

 

如果数据源是多DataRowView的 ,将采用循环赋值的方式.

            DataTable dt = new DataTable();
            dt.Columns.Add("ItemName", typeof(string));
            dt.Columns.Add("Id", typeof(int));
            DataView dv = dt.DefaultView;
            listBox2.Items.Clear();
            //设置多行的DataRowView为数据源
            for (int i = 0; i < _strcount; i++)
            {
                DataRowView drview = dv.AddNew();
                drview["ItemName"] = str[i];
                drview["Id"] = 0;
                if (str[i]!="")
                {
                    listBox2.Items.Add(drview);
                    listBox2.DisplayMember = "ItemName";
                    listBox2.ValueMember = "Id";
                }
            }

posted @ 2010-02-08 13:21  eastday  阅读(3031)  评论(1编辑  收藏  举报