總結.NET開發中ADO.NET的應用(2)_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:關于Gridview的多種使用方法總結
      asp.net中 Gridview的多種使用方法總結,具體如下面 截圖,并包括詳細源代碼注釋,需要的請下載。 1:在Gridview中無須編寫后臺代碼,直接實現增除刪改 2:在Gridview中添加新記錄 3:在Gridview中實現編輯和更新操作 4:在Gridview中實現一次性更新所有記錄


      二、DataView 
      DataView表示用于排序、篩選、搜索、編輯和導航的 DataTable 的可綁定數據的自定義視圖。可以將DataView同數據庫的視圖類比,不過有點不同,數據庫的視圖可以跨表建立視圖,DataView則只能對某一個DataTable建立視圖。DataView一般通過DataTable.DefaultView 屬性來建立,再通過通過RowFilter 屬性和RowStateFilter 屬性建立這個DataTable的一個子集。 
      RowFilter屬性用來篩選要查看DataTable中哪些行的表達式,這個表達式同上面所說的建立計算列的表達式相同。例如:"LastName = ’Smith’",這就是只查看列LastName的值為’Smith’的那些數據行。 
      RowStateFilter 屬性用來設置DataView中的行狀態篩選器,上面介紹DataRow時介紹了DataRow的狀態,一個DataRow可能有五種狀態,RowStateFilter就是可以通過這些狀態來篩選要查看的行集。其實DataRow不僅有五種狀態,DataRow還有版本的問題,比如當DataRow的狀態為Modified,即這行已經被修改了,這時這個DataRow就會有兩個版本,Current版本和Original版本(修改前的)。實際上RowStateFilter屬性是綜合了DataRow的狀態和版本來篩選的(RowStateFilter確省值是CurrentRows)見下表: 
      成員名稱/說明
      Added:一個新行。
      CurrentRows:包括未更改行、新行和已修改行的當前行。
      Deleted:已刪除的行。
      ModifiedCurrent:當前版本,原始數據(請參閱ModifiedOriginal)的修改版本。
      ModifiedOriginal:原始版本(盡管它后來已被修改并以ModifiedCurrent 形式存在)。 
      None:無。 
      OriginalRows:包括未更改行和已刪除行的原始行。
      Unchanged:未更改的行。 
      DataView.Count屬性得到的計數是在應用了 RowFilter 和 RowStateFilter 之后,獲取 DataView 中記錄的數量。 
      DataView是建立在DataTable基礎上的,DataView.Table 屬性可以得到此DataView對應的那個DataTable。DataView的行叫DataRowView,可以從DataRowView直接通過DataRowView.Row 屬性得到此DataRowView對應的DataRow。
      三、DataGrid 
      這里說的DataGrid是winform中的DataGrid,一般都是跟DataView綁定來顯示DataTable中的數據,和修改DataTable中的數據。
      DotNet的DataGrid的功能強大,可是在使用上與以前的習慣不太一樣,有時還比較麻煩,所以很多人都對這個DataGrid感到有些摸不著頭腦,有一種無從下手的感覺,其實把一些概念搞清楚了許多問題就會迎刃而解了。 
      DataGrid通過DataSource和DataMember 屬性來綁定其要顯示的數據源。數據源一般是DataTable、DataView、DataSet等,不過將這些數據源綁定到DataGrid時實際上是綁定的DataView。若數據源是DataTable時,實際上是綁定了此DataTable的DefaultView,若數據源是DataSet時,則可以向DataMember屬性設置一個字符串,該字符串指定要綁定到的表,然后再將DataMember指定的那個DataTable的DefaultView綁定到DataGrid。 
      所以DataGrid實際顯示的是DataTable經過篩選的DataView。 
      ◆ DataGrid以何種方式顯示DataView的數據 
      DataGrid綁定到一個DataView后,由DataGrid.TableStyles中的DataGridTableStyle 對象的集合來控制這個DataView的哪些列要顯示,列的寬度多少,列標頭的文本是什么等等。確省的DataGrid.TableStyles中不包含任何對象,這時DataGrid將會按照DataView列的順序將所有的列都顯示出來。一般應用中都會設置TableStyles來控制顯示的內容及格式。 
      例如DataGrid綁定到一張叫order的DataTable,這個DataTable包含了OrderID、CustomerID、OrderDate、ShipName、ShipAddress等字段,可以看到DataGrid將會按照DataView列的順序將所有的列都顯示出來 
      我們只想顯示OrderID、CustomerID、OrderDate這三個字段,并且想將OrderID的列表頭顯示為“訂單號”,CustomerID顯示為“客戶號”,OrderDate顯示為“訂單日期”,這就要用TableStyles來控制了。
      新建一個TableStyle,將此TableStyle.MappingName屬性對應到這個TableStyle要控制的那個DataTable的名字: 
      DataGridTableStyle myTableStyle = new DataGridTableStyle(); 
      myTableStyle.MappingName = "myDateTable"; 
      再建立三個DataGridColumnStyle,分別用來控制將要顯示的三個列: 
      DataGridColumnStyle myColumnStyle1 = new DataGridTextBoxColumn(); 
      myColumnStyle1.MappingName = "OrderID"; 
      myColumnStyle1.HeaderText = "訂單號"; 
      DataGridColumnStyle myColumnStyle2 = new DataGridTextBoxColumn(); 
      myColumnStyle2.MappingName = "CustomerID"; 
      myColumnStyle2.HeaderText = "客戶號"; 
      DataGridColumnStyle myColumnStyle3 = new DataGridTextBoxColumn(); 
      myColumnStyle3.MappingName = "OrderDate"; 
      myColumnStyle3.HeaderText = "訂單日期"; 
      將這三個DataGridColumnStyle添加到TableStyle中: 
      myTableStyle.GridColumnStyles.Add(myColumnStyle1); 
      myTableStyle.GridColumnStyles.Add(myColumnStyle2); 
      myTableStyle.GridColumnStyles.Add(myColumnStyle3);  
      最后將TableStyle添加到DataGrid中:
      dataGrid1.TableStyles.Add(myTableStyle); 
      將TableStyle添加到DataGrid后,再綁定數據源。

      分享:String.Empty、NULL、“”的不同之處
      在asp.net(c#)中 String.Empty、NULL、 3個語法 經常使用,作用是判斷字符串是否為空。 本文就它們彼此的不同之處做一粗略說明。 string.Empty就相當于 一般用于字符串的初始化 比如: stringa; Console.WriteLine(a);//這里會報錯,因為沒有初始化a 而下

      來源:模板無憂//所屬分類:.Net教程/更新時間:2010-05-21
      相關.Net教程