總結(jié).NET開發(fā)中ADO.NET的應(yīng)用(2)_.Net教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:關(guān)于Gridview的多種使用方法總結(jié)asp.net中 Gridview的多種使用方法總結(jié),具體如下面 截圖,并包括詳細(xì)源代碼注釋,需要的請下載。 1:在Gridview中無須編寫后臺代碼,直接實(shí)現(xiàn)增除刪改 2:在Gridview中添加新記錄 3:在Gridview中實(shí)現(xiàn)編輯和更新操作 4:在Gridview中實(shí)現(xiàn)一次性更新所有記錄
二、DataView
DataView表示用于排序、篩選、搜索、編輯和導(dǎo)航的 DataTable 的可綁定數(shù)據(jù)的自定義視圖。可以將DataView同數(shù)據(jù)庫的視圖類比,不過有點(diǎn)不同,數(shù)據(jù)庫的視圖可以跨表建立視圖,DataView則只能對某一個DataTable建立視圖。DataView一般通過DataTable.DefaultView 屬性來建立,再通過通過RowFilter 屬性和RowStateFilter 屬性建立這個DataTable的一個子集。
RowFilter屬性用來篩選要查看DataTable中哪些行的表達(dá)式,這個表達(dá)式同上面所說的建立計(jì)算列的表達(dá)式相同。例如:"LastName = ’Smith’",這就是只查看列LastName的值為’Smith’的那些數(shù)據(jù)行。
RowStateFilter 屬性用來設(shè)置DataView中的行狀態(tài)篩選器,上面介紹DataRow時介紹了DataRow的狀態(tài),一個DataRow可能有五種狀態(tài),RowStateFilter就是可以通過這些狀態(tài)來篩選要查看的行集。其實(shí)DataRow不僅有五種狀態(tài),DataRow還有版本的問題,比如當(dāng)DataRow的狀態(tài)為Modified,即這行已經(jīng)被修改了,這時這個DataRow就會有兩個版本,Current版本和Original版本(修改前的)。實(shí)際上RowStateFilter屬性是綜合了DataRow的狀態(tài)和版本來篩選的(RowStateFilter確省值是CurrentRows)見下表:
成員名稱/說明
Added:一個新行。
CurrentRows:包括未更改行、新行和已修改行的當(dāng)前行。
Deleted:已刪除的行。
ModifiedCurrent:當(dāng)前版本,原始數(shù)據(jù)(請參閱ModifiedOriginal)的修改版本。
ModifiedOriginal:原始版本(盡管它后來已被修改并以ModifiedCurrent 形式存在)。
None:無。
OriginalRows:包括未更改行和已刪除行的原始行。
Unchanged:未更改的行。
DataView.Count屬性得到的計(jì)數(shù)是在應(yīng)用了 RowFilter 和 RowStateFilter 之后,獲取 DataView 中記錄的數(shù)量。
DataView是建立在DataTable基礎(chǔ)上的,DataView.Table 屬性可以得到此DataView對應(yīng)的那個DataTable。DataView的行叫DataRowView,可以從DataRowView直接通過DataRowView.Row 屬性得到此DataRowView對應(yīng)的DataRow。
三、DataGrid
這里說的DataGrid是winform中的DataGrid,一般都是跟DataView綁定來顯示DataTable中的數(shù)據(jù),和修改DataTable中的數(shù)據(jù)。
DotNet的DataGrid的功能強(qiáng)大,可是在使用上與以前的習(xí)慣不太一樣,有時還比較麻煩,所以很多人都對這個DataGrid感到有些摸不著頭腦,有一種無從下手的感覺,其實(shí)把一些概念搞清楚了許多問題就會迎刃而解了。
DataGrid通過DataSource和DataMember 屬性來綁定其要顯示的數(shù)據(jù)源。數(shù)據(jù)源一般是DataTable、DataView、DataSet等,不過將這些數(shù)據(jù)源綁定到DataGrid時實(shí)際上是綁定的DataView。若數(shù)據(jù)源是DataTable時,實(shí)際上是綁定了此DataTable的DefaultView,若數(shù)據(jù)源是DataSet時,則可以向DataMember屬性設(shè)置一個字符串,該字符串指定要綁定到的表,然后再將DataMember指定的那個DataTable的DefaultView綁定到DataGrid。
所以DataGrid實(shí)際顯示的是DataTable經(jīng)過篩選的DataView。
◆ DataGrid以何種方式顯示DataView的數(shù)據(jù)
DataGrid綁定到一個DataView后,由DataGrid.TableStyles中的DataGridTableStyle 對象的集合來控制這個DataView的哪些列要顯示,列的寬度多少,列標(biāo)頭的文本是什么等等。確省的DataGrid.TableStyles中不包含任何對象,這時DataGrid將會按照DataView列的順序?qū)⑺械牧卸硷@示出來。一般應(yīng)用中都會設(shè)置TableStyles來控制顯示的內(nèi)容及格式。
例如DataGrid綁定到一張叫order的DataTable,這個DataTable包含了OrderID、CustomerID、OrderDate、ShipName、ShipAddress等字段,可以看到DataGrid將會按照DataView列的順序?qū)⑺械牧卸硷@示出來
我們只想顯示OrderID、CustomerID、OrderDate這三個字段,并且想將OrderID的列表頭顯示為“訂單號”,CustomerID顯示為“客戶號”,OrderDate顯示為“訂單日期”,這就要用TableStyles來控制了。
新建一個TableStyle,將此TableStyle.MappingName屬性對應(yīng)到這個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后,再綁定數(shù)據(jù)源。
分享:String.Empty、NULL、“”的不同之處在asp.net(c#)中 String.Empty、NULL、 3個語法 經(jīng)常使用,作用是判斷字符串是否為空。 本文就它們彼此的不同之處做一粗略說明。 string.Empty就相當(dāng)于 一般用于字符串的初始化 比如: stringa; Console.WriteLine(a);//這里會報錯,因?yàn)闆]有初始化a 而下
相關(guān).Net教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實(shí)現(xiàn)分頁示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 解析ASP.NET Routing對請求的處理方式
- C#中連接兩個DataTable,相當(dāng)于Sql的InnerJoin
- ASP.NET2.0向其它網(wǎng)頁傳遞信息的方法
- 談.net 中的職責(zé)鏈模式的使用
- 淺析asp.net 和 access 聯(lián)合開發(fā)的分頁類
- 經(jīng)典教程:用.net動態(tài)創(chuàng)建類的實(shí)例
- C#中調(diào)用Windows API時的數(shù)據(jù)類型對應(yīng)關(guān)系
- 基于.NET平臺的分層架構(gòu)實(shí)戰(zhàn)(三)架構(gòu)概要設(shè)計(jì)
- ASP.Net中利用CSS實(shí)現(xiàn)多界面兩法
- asp.net C#實(shí)現(xiàn)下載文件的六種方法實(shí)例
- 相關(guān)鏈接:
- 教程說明:
.Net教程-總結(jié).NET開發(fā)中ADO.NET的應(yīng)用(2)
。