这期内容当中小编将会给大家带来有关VB.NET Data Grid怎样实现主/从数据表,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
目前成都创新互联已为上1000+的企业提供了网站建设、域名、网络空间、网站改版维护、企业网站设计、高昌网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
在向大家详细介绍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怎样实现主/从数据表了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。