這篇文章給大家分享的是有關(guān)VB.NET DataRowView是什么意思的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
在祥符等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供成都做網(wǎng)站、網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷(xiāo)推廣,成都外貿(mào)網(wǎng)站制作,祥符網(wǎng)站建設(shè)費(fèi)用合理。
Windows窗體中的數(shù)據(jù)綁定列表框和組合框很節(jié)省時(shí)間。典型的代碼如下(假定已經(jīng)建立了SqlDataAdapter或者其它部件獲取數(shù)據(jù)):
Dim ds As New DataSet() SqlDataAdapter1.Fill(ds, "Customers") ListBox1.DataSource = ds.Tables("Customers") ListBox1.DisplayMember = "CompanyName" ListBox1.ValueMember = "CustomerID"
在這種情況下,代碼使用Northwind數(shù)據(jù)庫(kù)的顧客記錄工作。DisplayMember屬性設(shè)置為你希望用戶(hù)在列表框中看到的記錄字段,它是 customers表的CompanyName.通常ValueMember屬性設(shè)置為數(shù)據(jù)表中的一個(gè)鍵字段,對(duì)于customer來(lái)說(shuō)是 CustomerID.一旦用戶(hù)選擇了列表框中的一行,很容易使用列表框的SelectedValue屬性獲得鍵字段:
MsgBox(ListBox1.SelectedValue)
但是有可能需要一個(gè)與被選擇項(xiàng)相關(guān)的整個(gè)數(shù)據(jù)行對(duì)象的引用。例如,如果被選擇的行需要被刪除,就不知道鍵了。你需要一個(gè)數(shù)據(jù)行的引用以使用Delete方法。
典型的VB開(kāi)發(fā)者通常這樣想:"我已經(jīng)得到了該行的鍵了,我將編寫(xiě)一些邏輯來(lái)查找使用該鍵的行".這樣可以實(shí)現(xiàn),但是有更好的實(shí)現(xiàn)方法。可以使用一行代碼獲取與列表框中選項(xiàng)關(guān)聯(lián)的數(shù)據(jù)行:
Dim dr As DataRow = CType(ListBox1.SelectedItem, DataRowView)Row
通常該邏輯不會(huì)憑直覺(jué)出現(xiàn),即使對(duì)經(jīng)驗(yàn)豐富的開(kāi)發(fā)者。為了解釋這是怎樣實(shí)現(xiàn)的,我把上面的一行拆成幾行,下面的代碼與上面代碼的功能相同:
Dim drv As DataRowView drv = CType(ListBox1.SelectedItem, DataRowView) Dim dr As DataRow dr = drv.Row
VB.NET DataRowView類(lèi)是數(shù)據(jù)行的包裝,它被多個(gè)Windows窗體控件使用。它使得顯示與控件中的數(shù)據(jù)行相關(guān)的數(shù)據(jù)更加容易。當(dāng)列表框被數(shù)據(jù)綁定到數(shù)據(jù)表時(shí)(假定列表框中的有些行當(dāng)前被選定了),列表框的SelectedItem屬性保存了一個(gè)VB.NET DataRowView對(duì)象。
這意味著我們能把列表框的SelectedItem屬性轉(zhuǎn)換到VB.NET DataRowView對(duì)象,這就是上面代碼中的第二行實(shí)現(xiàn)的。接著VB.NET DataRowView暴露一個(gè)Row屬性,它指向被包裝的數(shù)據(jù)行。上面的代碼聲明了一個(gè)數(shù)據(jù)行并設(shè)置了Row屬性。
轉(zhuǎn)換對(duì)象的類(lèi)型以訪(fǎng)問(wèn)它的接口的技術(shù)在VB 6.0中不是經(jīng)常使用,但是在VB .NET中這是經(jīng)常的。有了上面的例子后,大多數(shù)有經(jīng)驗(yàn)的開(kāi)發(fā)者迅速跟上了這種技術(shù)。
數(shù)據(jù)行的引用(dr)可用于用任何方式維護(hù)行。訪(fǎng)問(wèn)數(shù)據(jù)行中的任何特定字段是可行的。行中的數(shù)據(jù)可以被改變,能使數(shù)據(jù)行的Delete方法把該行標(biāo)識(shí)為刪除,或者從數(shù)據(jù)表的行集合中刪除該行。下面的代碼標(biāo)識(shí)刪除了一行:
dr.Delete()
使用主鍵(由ListBox.SelectedValue返回)查找下層數(shù)據(jù)行的方法需要很多代碼,要花很長(zhǎng)時(shí)間,執(zhí)行起來(lái)更慢。對(duì)于剛開(kāi)始使用VB .NET的程序員來(lái)說(shuō)花幾個(gè)小時(shí)編碼是很正常的。理解上面的技術(shù)節(jié)約了很多時(shí)間,更簡(jiǎn)單、容易維護(hù)代碼。
感謝各位的閱讀!關(guān)于“VB.NET DataRowView是什么意思”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!