溫馨提示×

溫馨提示×

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

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

VB.NET Data Grid怎樣實現(xiàn)主/從數(shù)據(jù)表

發(fā)布時間:2021-11-24 09:36:36 來源:億速云 閱讀:132 作者:柒染 欄目:編程語言

這期內(nèi)容當中小編將會給大家?guī)碛嘘PVB.NET Data Grid怎樣實現(xiàn)主/從數(shù)據(jù)表,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在向大家詳細介紹VB.NET Data Grid之前,首先讓大家了解下實現(xiàn)DataGrid2的內(nèi)容動態(tài)更新,然后全面介紹VB.NET Data Grid。

VB.NET Data Grid實現(xiàn)主/從數(shù)據(jù)表

更有效的解決方案是使用兩個VB.NET Data Grid控件,主、從表均可見。對主表上某行進行選擇,會立即引發(fā)從表內(nèi)容的改變。

建立工程,添加一個Panel控件,將其Dock屬性設置為Top;添加一個Splitter控件,Dock屬性同樣設置為Top;在窗體下部再添加一個 Panel,Dock屬性為top.然后,在兩面板中各添加一個VB.NET Data Grid,其Dock屬性為Fill.

要實現(xiàn)DataGrid2的內(nèi)容動態(tài)更新,需要對DataGrid1的CurrentCellChanged事件進行監(jiān)聽,在接受到DataGrid1的變化消息后,加載相應的數(shù)據(jù)。

  1. Imports System.Data.SqlClient  

  2. Public Class Form1  

  3. Const Connection String As String = "integrated security=sspi;initial catalog=pubs; 

  4. data source=(local)" 

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

  6. Dim cn As New SqlConnection(Connection String)  

  7. cn.Open()  

  8. Dim ds As New Dataset  

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

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

  11. ds.Tables.Add(Titles Table)  

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

  13. da.Fill(Titles Table)  

  14. da.Dispose()  

  15. cn.Close()  

  16. DataGrid1.DataSource = Titles Table  

  17. ’主表顯示在DataGrid1中  

  18. End Sub  

  19. Private Sub DataGrid1_CurrentCellChanged(By Val sender As Object, 
    By Val e As System.EventArgs) Handles DataGrid1.CurrentCellChanged  

  20. Dim titled As String = DataGrid1.Item(DataGrid1.CurrentCell.RowNumber, 0).To String  

  21. ’判斷用戶在主表中選擇了哪一行,取出它的第0列(在本例中即為title_id列)  

  22. Dim sql As String = "select * from sales where title_id=’" & titled & "’"  

  23. ’SQL命令字符串,選擇與主表中相同title_id值的從表數(shù)據(jù)  

  24. Dim cn As New SqlConnection(Connection String)  

  25. cn.Open()  

  26. Dim ds As New Dataset  

  27. Dim da As New SqlDataAdapter(sql, cn)  

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

  29. ds.Tables.Add(Sales Table)  

  30. da.Fill(Sales Table)  

  31. ’用選擇的從表數(shù)據(jù)填充,更新  

  32. da.Dispose()  

  33. cn.Close()  

  34. DataGrid2.DataSource = Sales Table  

  35. End Sub  

  36. End Class 

運行程序,在主表中選擇某行,從表就會顯示出匹配的銷售信息。

利用主/從數(shù)據(jù)表模式,能在較小的編程工作量下,實現(xiàn)很好的顯示及操作效果。若要建立多表關聯(lián)的主/從視圖,或是進行增、刪、改等操作,在此方法上進行改進即可。

上述就是小編為大家分享的VB.NET Data Grid怎樣實現(xiàn)主/從數(shù)據(jù)表了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI