我有一个项目要为我的校园内的员工和日程管理开发一个应用程序。我的计划是使用 VB.NET 开发并使用 SQL Server 作为数据库。
如何使用网格视图使链接指向另一个窗口?该窗口将按计划显示所有信息。
我有一个项目要为我的校园内的员工和日程管理开发一个应用程序。我的计划是使用 VB.NET 开发并使用 SQL Server 作为数据库。
如何使用网格视图使链接指向另一个窗口?该窗口将按计划显示所有信息。
您正在寻找DataGridViewLinkColumn。另请检查此链接。
一旦CellContentClick
事件触发,您可以创建另一个表单并将所需的值传递给该表单以显示详细信息并显示它们。
你也可以使用DataGridViewButtonColumn
。
编辑:
我假设我有两种形式frmMaster
和frmDetails
. DataGridView 位于frmMaster
并且用户记录ID
在TAG
第一个单元格的属性中。
那么,FrmMaster 代码将是:
Private Sub frmMaster_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Added a LinkColumn from code (you can do it at design time too)
DataGridView1.Columns.Add(New DataGridViewLinkColumn() With {.Text = "Show details"})
End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
Dim detail As New frmDetail() ' create an instance of detail form
detail.ID = DataGridView1.Rows(e.RowIndex).Cells(0).Tag'set property of detail form
detail.ShowDialog() ' Show form
End Sub
和frmdetail
代码将是:
Private _Id As String
Public Property ID() As String
Get
Return _Id
End Get
Set(ByVal value As String)
_Id = value
End Set
End Property
Private Sub frmDetail_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
LoadData(_Id)
End Sub
Sub LoadData(ByVal _id As Integer)
'' use '_id' variable to extract data from dtaabse via query
End Sub