datatable 與dataview的區別


datatable 與dataview的區別

 
     一、DataTable 
   DataTable表示內存中數據的一個表,它完全是在內存中的一個獨立存在,包含了這張表的全部信息。DataTable可以是從通過連接從數據庫中讀取出來形成的一個表,一旦將內容讀到DataTable中,此DataTable就可以跟數據源斷開而獨立存在;也可以是完全由程序自己通過代碼來建立的一個表。 
   
    二、DataView 
   
  DataView表示用於排序、篩選、搜索、編輯和導航的 DataTable 的可綁定數據的自定義視圖。可以將DataView同數據庫的視圖類比,不過有點不同,數據庫的視圖可以跨表建立視圖,DataView則只能對某一個DataTable建立視圖。DataView一般通過DataTable.DefaultView 屬性來建立,再通過通過RowFilter 屬性和RowStateFilter 屬性建立這個DataTable的一個子集。   
  DataView是建立在DataTable基礎上的,DataView.Table 屬性可以得到此DataView對應的那個DataTable。DataView的行叫DataRowView,可以從DataRowView直接通過DataRowView.Row 屬性得到此DataRowView對應的DataRow。 
------------1.可綁定 2.實現IEnumerable 3.行可轉成object---------------------------------------

        DataTable dt = dt1;

        if ((dt == null) || ((dt.Rows).Count < 1)) return;
        IEnumerable  dv = (IEnumerable)((IListSource)dt).GetList();//將datatable轉成dataview
        foreach (Object o in dv)
        {
            PropertyDescriptorCollection propDesColl = TypeDescriptor.GetProperties(o);
            foreach (PropertyDescriptor pd in propDesColl)
            {
                Type type = pd.PropertyType;
            }
        }


免責聲明!

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



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