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