您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關VB.NET Data Grid怎樣實現主/從數據表,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
在向大家詳細介紹VB.NET Data Grid之前,首先讓大家了解下實現DataGrid2的內容動態更新,然后全面介紹VB.NET Data Grid。
VB.NET Data Grid實現主/從數據表
更有效的解決方案是使用兩個VB.NET Data Grid控件,主、從表均可見。對主表上某行進行選擇,會立即引發從表內容的改變。
建立工程,添加一個Panel控件,將其Dock屬性設置為Top;添加一個Splitter控件,Dock屬性同樣設置為Top;在窗體下部再添加一個 Panel,Dock屬性為top.然后,在兩面板中各添加一個VB.NET Data Grid,其Dock屬性為Fill.
要實現DataGrid2的內容動態更新,需要對DataGrid1的CurrentCellChanged事件進行監聽,在接受到DataGrid1的變化消息后,加載相應的數據。
Imports System.Data.SqlClient
Public Class Form1
Const Connection String As String = "integrated security=sspi;initial catalog=pubs;
data source=(local)"
Private Sub Button1_Click(By Val sender As Object,
By Val e As System.EventArgs) Handles Button1.ClickDim cn As New SqlConnection(Connection String)
cn.Open()
Dim ds As New Dataset
Dim GetTitlesString As String = "Select * From Titles"
Dim Titles Table As New Data Table("Titles")
ds.Tables.Add(Titles Table)
Dim da As New SqlDataAdapter(GetTitlesString, cn)
da.Fill(Titles Table)
da.Dispose()
cn.Close()
DataGrid1.DataSource = Titles Table
’主表顯示在DataGrid1中
End Sub
Private Sub DataGrid1_CurrentCellChanged(By Val sender As Object,
By Val e As System.EventArgs) Handles DataGrid1.CurrentCellChangedDim titled As String = DataGrid1.Item(DataGrid1.CurrentCell.RowNumber, 0).To String
’判斷用戶在主表中選擇了哪一行,取出它的第0列(在本例中即為title_id列)
Dim sql As String = "select * from sales where title_id=’" & titled & "’"
’SQL命令字符串,選擇與主表中相同title_id值的從表數據
Dim cn As New SqlConnection(Connection String)
cn.Open()
Dim ds As New Dataset
Dim da As New SqlDataAdapter(sql, cn)
Dim Sales Table As New Data Table("Sales")
ds.Tables.Add(Sales Table)
da.Fill(Sales Table)
’用選擇的從表數據填充,更新
da.Dispose()
cn.Close()
DataGrid2.DataSource = Sales Table
End Sub
End Class
運行程序,在主表中選擇某行,從表就會顯示出匹配的銷售信息。
利用主/從數據表模式,能在較小的編程工作量下,實現很好的顯示及操作效果。若要建立多表關聯的主/從視圖,或是進行增、刪、改等操作,在此方法上進行改進即可。
上述就是小編為大家分享的VB.NET Data Grid怎樣實現主/從數據表了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。