總結.NET開發中ADO.NET的應用(2)_.Net教程
教程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教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-總結.NET開發中ADO.NET的應用(2)。