日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

總結(jié).NET開發(fā)中ADO.NET的應(yīng)用(6)_.Net教程

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

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


◆ 在程序中訪問DataGrid中的內(nèi)容 
DataTable中有數(shù)據(jù)行DataRow,而在DataGrid中沒有行這個(gè)對(duì)象,這讓人感到很不習(xí)慣,也覺得不夠自然。在DataTable中,一張表的層次結(jié)構(gòu)很清楚,DataTable.Rows屬性可以得到這張表所包含的所有行的行集,通過行集的索引DataRowCollection[index]就可以得到具體的一個(gè)DataRow,數(shù)據(jù)行的索引DataRow[index]又可以得到這一行的具體某一列的內(nèi)容。
而DataGrid中就沒有這么方便了,DataGrid只有兩個(gè)屬性可用,DataGrid.CurrentCell 屬性,此屬性返回一個(gè)DataGridCell類型的結(jié)構(gòu),DataGridCell結(jié)構(gòu)指明此Cell所在的行號(hào)和列號(hào)。還有一個(gè)DataGrid.Item 屬性,此屬性有兩個(gè)重載: 
public object this[DataGridCell] //獲取或設(shè)置指定的 DataGridCell 的值
public object this[int, int] //獲取或設(shè)置位于指定行和列的單元格的值 
可見,DataGrid中訪問都是針對(duì)某個(gè)Cell進(jìn)行的。經(jīng)常的,我們需要從當(dāng)前的Cell獲得此Cell所對(duì)應(yīng)的DataRow,比如界面中可能先選中DataGrid的某一行,或者某一個(gè)Cell,然后點(diǎn)擊一個(gè)按鈕,彈出一個(gè)新的窗口,窗口中顯示這一行的所有單元的內(nèi)容,并允許修改單元的值,最后保存關(guān)閉窗口。這就需要從當(dāng)前的DataGrid所在的單元找到其所對(duì)應(yīng)的DataTable所在的行和列。 
而DataGrid中顯示的數(shù)據(jù)可能經(jīng)過DataView的DataView.RowFilter屬性、DataView.RowStateFilter屬性的過濾,還可能經(jīng)過DataGrid本身根據(jù)各個(gè)列的正向和反向排序,所以DataGrid的CurrentRowIndex屬性所指示的行索引跟其對(duì)應(yīng)的DataTable的行索引有很大的機(jī)會(huì)是不一樣的,不能夠根據(jù)DataGrid的CurrentRowIndex去獲取其對(duì)應(yīng)的DataTable的行。 
這時(shí)BindingManagerBase又將發(fā)揮作用了,我們可以先建立一個(gè)對(duì)應(yīng)此DataGrid綁定的數(shù)據(jù)源的BindingManagerBase,這樣這個(gè)BindingManagerBase就可以管理這個(gè)數(shù)據(jù)源。 
//設(shè)置DataGrid的數(shù)據(jù)源 
dataGrid1.DataSource = myDataSet; 
dataGrid1.DataMember = "customers"; 
//建立同DataGrid同樣數(shù)據(jù)源的BindingManagerBase 
BindingManagerBase myBindingManagerBaseParent = 
this.BindingContext[myDataSet,"customers"];  
一旦建立了這個(gè)BindingManagerBase,就可以通過BindingManagerBase的當(dāng)前行的屬性來獲取當(dāng)前數(shù)據(jù)源的記錄: 
//BindingManagerBase的Current返回?cái)?shù)據(jù)源的對(duì)象,對(duì)于綁定到DataView的數(shù)據(jù)源,需要將此對(duì)象顯式
//的轉(zhuǎn)換為 DataRowView類型
DataRowView myDataRowView =(DataRowView) myBindingManagerBaseParent.Current 
這樣,我們就可以從當(dāng)前的Cell得到此Cell所在的DataRowView,DataRowView又可以通過DataRowView.Row屬性及其方便的得到DataRow。 
如果還要進(jìn)一步,想要得到此Cell所對(duì)應(yīng)的DataTable的具體單元,就是不光要得到DataRow,還要知道這個(gè)Cell所對(duì)應(yīng)的列。 
這又分兩種情況: 
一是DataGrid未使用TableStyles來設(shè)置DataGrid要顯示的列和格式,數(shù)據(jù)源DataView的所有列都將按照DataView本身的順序顯示出來,這樣可以直接取得對(duì)應(yīng)的列索引: 
//獲取當(dāng)前DataGrid單元的列索引,這個(gè)索引跟DataTable的索引是一樣的 
Int ColumnNumber = DataGrid.CurrentCell.ColumnNumber; 
另一種情況是DataGrid使用了TableStyles來設(shè)置DataGrid要顯示的列和格式,這樣DataGrid單元的列索引跟DataTable的索引就可能是不一樣的了,這就要用DataGrid的TableStyles了:
Int ColumnNumberDataGrid = DataGrid.CurrentCell.ColumnNumber; 
//獲取當(dāng)前DataGrid單元的列索引 
Int ColumnNumberDataTable = 
DataGrid.TableStyles[0].GridColumnStyles[ColumnNumberDataGrid].MappingName 

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

共6頁(yè)上一頁(yè)123456下一頁(yè)
來源:模板無憂//所屬分類:.Net教程/更新時(shí)間:2010-05-21
相關(guān).Net教程