自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談VB.NET DataRowView

開發(fā) 后端
這里介紹VB.NET DataRowView類是數(shù)據(jù)行的包裝,它被多個Windows窗體控件使用。它使得顯示與控件中的數(shù)據(jù)行相關(guān)的數(shù)據(jù)更加容易。

本文向大家介紹VB.NET DataRowView,可能好多人還不了解VB.NET DataRowView,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

Windows窗體中的數(shù)據(jù)綁定列表框和組合框很節(jié)省時間。典型的代碼如下(假定已經(jīng)建立了SqlDataAdapter或者其它部件獲取數(shù)據(jù)):

  1. Dim ds As New DataSet()  
  2. SqlDataAdapter1.Fill(ds, "Customers")  
  3. ListBox1.DataSource = ds.Tables("Customers")  
  4. ListBox1.DisplayMember = "CompanyName" 
  5. ListBox1.ValueMember = "CustomerID" 

在這種情況下,代碼使用Northwind數(shù)據(jù)庫的顧客記錄工作。DisplayMember屬性設(shè)置為你希望用戶在列表框中看到的記錄字段,它是 customers表的CompanyName.通常ValueMember屬性設(shè)置為數(shù)據(jù)表中的一個鍵字段,對于customer來說是 CustomerID.一旦用戶選擇了列表框中的一行,很容易使用列表框的SelectedValue屬性獲得鍵字段:

MsgBox(ListBox1.SelectedValue)

但是有可能需要一個與被選擇項相關(guān)的整個數(shù)據(jù)行對象的引用。例如,如果被選擇的行需要被刪除,就不知道鍵了。你需要一個數(shù)據(jù)行的引用以使用Delete方法。

典型的VB開發(fā)者通常這樣想:"我已經(jīng)得到了該行的鍵了,我將編寫一些邏輯來查找使用該鍵的行".這樣可以實現(xiàn),但是有更好的實現(xiàn)方法??梢允褂靡恍写a獲取與列表框中選項關(guān)聯(lián)的數(shù)據(jù)行:

  1. Dim dr As DataRow = CType(ListBox1.SelectedItem, DataRowView)Row 

通常該邏輯不會憑直覺出現(xiàn),即使對經(jīng)驗豐富的開發(fā)者。為了解釋這是怎樣實現(xiàn)的,我把上面的一行拆成幾行,下面的代碼與上面代碼的功能相同:

  1. Dim drv As DataRowView  
  2. drv = CType(ListBox1.SelectedItem, DataRowView)  
  3. Dim dr As DataRow  
  4. dr = drv.Row 

VB.NET DataRowView類是數(shù)據(jù)行的包裝,它被多個Windows窗體控件使用。它使得顯示與控件中的數(shù)據(jù)行相關(guān)的數(shù)據(jù)更加容易。當(dāng)列表框被數(shù)據(jù)綁定到數(shù)據(jù)表時(假定列表框中的有些行當(dāng)前被選定了),列表框的SelectedItem屬性保存了一個VB.NET DataRowView對象。

這意味著我們能把列表框的SelectedItem屬性轉(zhuǎn)換到VB.NET DataRowView對象,這就是上面代碼中的第二行實現(xiàn)的。接著VB.NET DataRowView暴露一個Row屬性,它指向被包裝的數(shù)據(jù)行。上面的代碼聲明了一個數(shù)據(jù)行并設(shè)置了Row屬性。

轉(zhuǎn)換對象的類型以訪問它的接口的技術(shù)在VB 6.0中不是經(jīng)常使用,但是在VB .NET中這是經(jīng)常的。有了上面的例子后,大多數(shù)有經(jīng)驗的開發(fā)者迅速跟上了這種技術(shù)。

數(shù)據(jù)行的引用(dr)可用于用任何方式維護行。訪問數(shù)據(jù)行中的任何特定字段是可行的。行中的數(shù)據(jù)可以被改變,能使數(shù)據(jù)行的Delete方法把該行標(biāo)識為刪除,或者從數(shù)據(jù)表的行集合中刪除該行。下面的代碼標(biāo)識刪除了一行:

dr.Delete()

使用主鍵(由ListBox.SelectedValue返回)查找下層數(shù)據(jù)行的方法需要很多代碼,要花很長時間,執(zhí)行起來更慢。對于剛開始使用VB .NET的程序員來說花幾個小時編碼是很正常的。理解上面的技術(shù)節(jié)約了很多時間,更簡單、容易維護代碼。

【編輯推薦】

  1. 簡單描述VB.NET散列函數(shù)
  2. 詳細分析VB.NET讀寫文本文件
  3. VB.NET GroupBox控件學(xué)習(xí)經(jīng)驗
  4. 概括VB.NET DomainUpDown控件
  5. VB.NET編碼算法學(xué)習(xí)筆記
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-10-28 10:31:23

VB.NET Impl

2009-10-20 09:39:04

VB.NET Butt

2009-10-12 13:32:58

VB.NET線程構(gòu)造器

2009-10-16 10:14:26

VB.NET使用Fil

2009-10-13 11:22:46

VB.NET調(diào)用Web

2010-01-22 15:56:03

VB.NET獲取當(dāng)前U

2009-10-19 11:28:42

VB.NET語言.NET開發(fā)語言

2010-01-21 15:10:37

VB.NET靜態(tài)托盤程

2009-06-29 10:50:18

VB.NET面向?qū)ο竽芰?/a>

2010-01-21 17:23:05

VB.NET Radi

2009-06-23 11:49:22

跨進程消息鉤子VB.NET

2009-10-20 14:03:48

VB.NET數(shù)組聲明VB.NET數(shù)組初始化

2010-01-22 13:08:50

VB.NET創(chuàng)建數(shù)組

2009-10-29 14:02:24

VB和VB.NET比較

2009-10-20 14:21:55

VB.NET fnSi

2010-01-22 11:15:50

VB.NET固定值變量

2009-10-26 17:07:17

VB.NET UNDO

2011-06-17 11:05:22

VB.NET

2009-06-24 15:45:32

VB.NET

2009-11-02 17:12:01

VB和VB.NET
點贊
收藏

51CTO技術(shù)棧公眾號