DataTabel 與DataView之間的轉化


DataTable轉為DataView,或者反之轉化, 
使用的是文檔/試圖模型,DataTable可以有多個視圖,這樣就可以不需要借助List類型對dataTable數據進行篩選或者排序

 //DataRow row = table.NewRow();
 //row.ItemArray = new object[] { 1, "Fruit", "Apple", 14 };
 //table.Rows.Add(row);

 //row = table.NewRow();
 //row.ItemArray = new object[] { 2, "Fruit", "Orange", 27 };
 //table.Rows.Add(row);


DataTable dt = new DataTable(); dt.Columns.Add("Id",typeof(int));System.Type.GetType("System.Int32") dt.Columns.Add("Name",typeof(string)); dt.Columns.Add("Age", typeof(int)); dt.Columns.Add("Address",typeof(string)); { DataRow dr = dt.NewRow(); dr["Id"] = 1; dr["Name"] = "張三"; dr["Age"] = "13"; dr["Address"] = "杭州"; dt.Rows.Add(dr); } { DataRow dr = dt.NewRow(); dr["Id"] = 2; dr["Name"] = "李四"; dr["Age"] = "20"; dr["Address"] = "杭州"; dt.Rows.Add(dr); } { DataRow dr = dt.NewRow(); dr["Id"] = 3; dr["Name"] = "王五"; dr["Age"] = "60"; dr["Address"] = "杭州"; dt.Rows.Add(dr); } { DataRow dr = dt.NewRow(); dr["Id"] = 4; dr["Name"] = "趙六1"; dr["Age"] = "37"; dr["Address"] = "杭州"; dt.Rows.Add(dr); } //dataTable 轉dataView的集中方式 //DataView dv1 = new DataView(dt); //DataView dv1 = dt.AsDataView(); //DataView dv1 = new DataView(); dv1.Table = dt; DataView dv = dt.DefaultView; //多條件篩選 若是字段與條件的類型不一致會報錯 //dv.RowFilter = "Age >30"; //dv.RowFilter = "Name like '%趙六%'"; //dv.RowFilter = "Name='趙六'"; //排序 //dv.Sort = "Age desc"; //dv.Sort = "Age asc"; //根據字段長度控制顯示 //dv.RowFilter = "Len(Name)>2";

           //dataView轉為dataTable的時候 可以指定顯示的字段
           //DataTable dt1= dv.ToTable(true,new string[] {"Id","Name" });
           //DataTable dd2 = dv.ToTable(true,"Id","Name","Age");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM