您目前已離線,請等候您的網際網路重新連線

如何將至物件或結構的陣列清單的 DataGrid 控制項繫結使用 Visual Basic 2005 或 Visual Basic.NET

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:316302
本文章的有 Microsoft Visual C#.NET] 版本請參閱 316303
結論
本文將逐步告訴您,如何將物件的 陣列清單 繫結至 DataGrid 控制項。此範例是由 Microsoft Windows Form 與 DataGrid 控制項來顯示物件屬性值和四個命令按鈕來瀏覽 DataGrid 控制項的資料列所組成。

需求

下列清單列出建議的硬體、 軟體、 網路基礎結構及所需的 Service Pack:
  • Microsoft Visual Basic 2005 或 Microsoft Visual Basic.NET
本文假設您已熟悉下列主題:
  • Visual Basic 的程式設計概念

設計類別

是要繫結至控制項的類別必須有屬性存取子。要繫結任何屬性必須有 屬性集屬性的 Get 方法。本文中所使用的範例類別有三個成員 (只有一個顯示在這裡)。參數型建構函式也已經提供,但不是一項需求。
Public Class guitar    Private m_make As String    Private m_model As String    Private m_year As Short    Public Sub New(ByVal make, ByRef model, ByVal year)        m_make = make        m_model = model        m_year = year    End Sub    Public Property make() As String        Get            Return m_make        End Get        Set(ByVal Value As String)            m_make = Value        End Set    End Property    End Class				

將類別執行個體加入至陣列

若要建立執行個體,並將它們加入 陣列清單,請依照下列步驟執行:
  1. 宣告 陣列清單
  2. 建立該類別的執行個體,然後將該執行個體加入至 陣列清單
Private al as New Arraylist()al.Add(New guitar("Gibson", "Les Paul", 1958))al.Add(New guitar("Fender", "Jazz Bass", 1964))al.Add(New guitar("Guild", "Bluesbird", 1971))				

將陣列清單繫結至 DataGrid

填入 陣列清單 之後設定 [以 陣列清單 的 [DataGrid 控制項的 資料來源 屬性]。DataGrid 控制項中的資料行被填入根據存在範圍內屬性存取子屬性。
DataGrid1.DataSource = al				

提供方法來瀏覽陣列清單

您可以使用 CurrencyManager 瀏覽 陣列清單。若要執行此動作將關聯 CurrencyManagerBindingContext 控制項 (在此情況下,陣列清單) 的使用]。
Private cManager As CurrencyManagercManager = CType(DataGrid1.BindingContext(al), CurrencyManager)				
CurrencyManager 類別有可以操作來逐一查看 陣列清單 的成員的 位置 屬性。藉由新增到,或從目前 位置 的值減去,您可以瀏覽 DataGrid 控制項的資料列。
'Move forward one element.cManager.Position += 1'Move back one element.cManager.Position -= 1'Move to the beginning.cManager.Position = 0'Move to the end.cManager.Position = al.Count - 1				

逐步範例

  1. 在 Visual Basic2005 或 Visual Basic.NET 中,建立新的 Windows 應用程式專案。預設會建立 Form1。
  2. 按一下 [專案] 功能表 加入類別] 來將類別加入至專案。
  3. Class1.vb 在程式碼取代下列:
    Public Class guitar    Private m_make As String    Private m_model As String    Private m_year As Short    Public Sub New(ByVal make, ByRef model, ByVal year)        m_make = make        m_model = model        m_year = year    End Sub    Public Property make() As String        Get            Return m_make        End Get        Set(ByVal Value As String)            m_make = Value        End Set    End Property    Public Property model() As String        Get            Return m_model        End Get        Set(ByVal Value As String)            m_model = Value        End Set    End Property    Public Property year() As Short        Get            Return m_year        End Get        Set(ByVal Value As Short)            m_year = Value        End Set    End PropertyEnd Class					
  4. 關閉 Class1.vb 程式碼視窗,然後切換至 [表單設計工具。
  5. DataGrid 控制項加入至 Form1。DataGrid 控制項,以容納四個資料行和三個資料列大小。
  6. 將四個 按鈕 控制項加入至 Form1,然後水平排列按鈕。
  7. 將的 Button1 的 [文字] 屬性變更為 下一步]
  8. 將的 Button2 的 [文字] 屬性變更為 前一頁
  9. 將的 Button3 的 [文字] 屬性變更為 第一次
  10. 將的 Button4 的 [文字] 屬性變更為 上次
  11. 將下列程式碼加入至 Form1 類別:
    Private cManager As CurrencyManagerPrivate al as New ArrayList()					
  12. 下列程式碼貼 Form1_Load 事件中:
    al.Add(New guitar("Gibson", "Les Paul", 1958))al.Add(New guitar("Fender", "Jazz Bass", 1964))al.Add(New guitar("Guild", "Bluesbird", 1971))				cManager = CType(DataGrid1.BindingContext(al), CurrencyManager)	DataGrid1.DataSource = al					
  13. 下列程式碼貼 Form_Load 程序之後:
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click        cManager.Position += 1    End Sub    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click        cManager.Position -= 1    End Sub    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click        cManager.Position = 0    End Sub    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click        cManager.Position = al.Count - 1    End Sub					
  14. 建置並執行專案。
  15. 按一下指令按鈕,在 DataGrid 控制項的資料列之間移動。注意是否需要的話可以編輯該物件的值。

使用結構而非類別

規則的繫結結構就會相同規則的繫結的物件。屬性 (也就是成員) 存取子都是必要的。建立此目的的結構類似類別。

若要將繫結至結構的 陣列清單,請依照下列步驟執行:
  1. 變更 Class1.vb 類別模組,在從
    Public Class guitar'...End Class					
    下列:
    Public Structure guitar'...End Structure					
  2. 建置和再次,執行範例程式,並確認它運作與結構的 陣列清單
参考
如需詳細資訊請參閱 「 客戶的資料上 Windows 表單 」 主題在 [Visual Studio.NET 線上說明]。

警告:本文為自動翻譯

內容

文章識別碼:316302 - 最後檢閱時間:12/06/2006 23:26:02 - 修訂: 3.3

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB316302 KbMtzh
意見反應
ent.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">