我有一个项目,为员工开发一个应用程序,并在我的校园里进行日程安排管理。我的计划是使用 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