溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

VB.NET Data Grid怎么用

發(fā)布時間:2021-12-02 09:44:39 來源:億速云 閱讀:140 作者:小新 欄目:編程語言

小編給大家分享一下VB.NET Data Grid怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

在以數(shù)據(jù)庫為中心的應(yīng)用程序中,主/從數(shù)據(jù)表視圖是一種非常常見的設(shè)計模式。在這種模式下,***數(shù)據(jù)(主表)顯示在一個用戶界面元素中(如VB.NET Data Grid),而與之相關(guān)的細節(jié)數(shù)據(jù)(從表)則根據(jù)主表的選擇作相應(yīng)的變化更新。例如:我們可以查看出版社已出版圖書的信息列表,當選擇某種圖書時,在從表中立即顯示出該圖書的銷售情況。

VB.NET Data Grid實現(xiàn)主/從數(shù)據(jù)表模式一般有兩種方式,一是利用一個VB.NET Data Grid控件裝入兩個相關(guān)的數(shù)據(jù)表,二是采用兩個VB.NET Data Grid控件實現(xiàn)主從模式。為便于說明,我們采用SQL Server 2000自帶的Pubs數(shù)據(jù)庫的Titles表和Sales表進行演示,其中Titles表記錄了某出版社的圖書目錄,而Sales表則是每種圖書的銷售數(shù)據(jù),兩張表中都包含title_id列。

一個VB.NET Data Grid中裝入多個相關(guān)表

我們都知道,將VB.NET Data Grid的Data Source屬性同Dataset相綁定,即可將數(shù)據(jù)表顯示在VB.NET Data Grid中,但不少初學者并不清楚:通過向Dataset中添加多個Data Table對象,每個Data Table對象裝入一張表,再設(shè)定好關(guān)聯(lián),即可在VB.NET Data Grid中顯示多張關(guān)聯(lián)表。

  1. Imports System.Data.SqlClient  

  2. ’引用SqlClient命名空間  

  3. Public Class Form1  

  4. Const Connection String As String = "integrated security=sspi;

  5. initial catalog=Pubs; data source=(local)" 

  6. ’定義連接字符串  

  7. Private Sub Button1_Click(By Val sender As Object, 
    By Val e As System.EventArgs) Handles Button1.Click  

  8. Dim cn As New SqlConnection (Connection String)  

  9. Cn. Open()  

  10. ’建立同數(shù)據(jù)庫的連接  

  11. Dim ds As New Dataset("Book Sales")  

  12. ’創(chuàng)建Dataset對象  

  13. Dim Titles Table As New Data Table("Titles")  

  14. ds.Tables.Add(Titles Table)  

  15. ’創(chuàng)建Data Table對象(Titles表),加入Dataset  

  16. Dim GetTitlesString As String = "Select * From Titles" 

  17. Dim da As New SqlDataAdapter(GetTitlesString, cn)  

  18. da.Fill(Titles Table)  

  19. ’填充Data Table  

  20. da.Dispose()  

  21. Dim Sales Table As New Data Table("Sales")  

  22. ds.Tables.Add(Sales Table)  

  23. Dim GetSalesString As String = "Select * From Sales" 

  24. da = New SqlDataAdapter(GetSalesString, cn)  

  25. da.Fill(Sales Table)  

  26. ’創(chuàng)建并填充Sales表  

  27. da.Dispose()  

  28. cn.Close()  

  29. Dim relation As New Data Relation("Title Sales", TitlesTable.
    Columns("title_id"),SalesTable.Columns("title_id"))  

  30. ds.Relations.Add(relation)  

  31. 根據(jù)title_id列建立兩個表的關(guān)聯(lián)  

  32. DataGrid1.DataSource = ds 

  33. 將DataGrid1綁定到Dataset對象(即ds)  

  34. End Sub  

  35. End Class 

需要注意的是:在單表模式下,用SqlDataAdapter對象填充Dataset時,若發(fā)現(xiàn)Dataset中沒有表,就自動創(chuàng)建一個新的 Data Table并填充;而用主從模式時,應(yīng)顯示創(chuàng)建每個Data Table對象并填充,再利用Data Relation對象建立多個Data Table之間的關(guān)聯(lián),***將VB.NET Data Grid綁定到Dataset上。

運行工程,會看到一個有加號按鈕的視圖。單擊加號,窗體中出現(xiàn)裝入的所有表名。如果查看Titles表,就會發(fā)現(xiàn)在每行的旁邊有一個小加號按鈕,點擊加號,就可以查看其銷售情況。

在窗體的右上部,向左的小箭頭按鈕用于回退。每查看一次銷售情況后,都必須用回退按鈕回到主表,顯然,這種主/從表模式的可操作性很差,也不太符合我們的操作習慣。也許,后一種方式是比較好的解決方案。

看完了這篇文章,相信你對“VB.NET Data Grid怎么用”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI