Vb.net 数据网格视图超链接列



我正在尝试从MS Access数据库中检索记录,其中一个字段是MS Access中的超链接类型,当记录显示在 Vb.net 数据网格视图中时,超链接字段不显示为超链接,而是仅显示普通文本,我应该如何在datagridview中转换/声明超链接列?

我知道如果我在 datagridview 中添加列,我可以声明列类型,但现在我正在从 MS Access 检索整个记录分支,因此没有在 DGV 中预先创建任何列。

Dim connString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=D:eCTMSDBClient2007.accdb"
Dim MyConn As OleDbConnection
Dim da As OleDbDataAdapter
Dim ds As DataSet
Dim tables As DataTableCollection
Dim source1 As New BindingSource
MyConn = New OleDbConnection
MyConn.ConnectionString = connString
ds = New DataSet
tables = ds.Tables
da = New OleDbDataAdapter("SELECT * FROM Query5Search", MyConn) 'Change items to your database name
da.Fill(ds, "Query5Search") 'Change items to your database name
Dim view As New DataView(tables(0))
source1.DataSource = view
DataGridView1.DataSource = view

永远不会自动为您创建超链接列。 您始终必须在设计器或代码中自己创建它。 您可以选择您认为更方便的列,但无论哪种方式,您都必须设置列的DataPropertyName,以便它知道要绑定到数据源的哪个列/属性。 然后设置网格的DataSource时,不会为该数据源列创建文本框列,这是文本数据的默认值。

有关如何在设计器中手动添加列的示例,您可能希望查看此内容。 该示例使用组合框列,但无论列类型如何,原理都是相同的。 超链接比组合框更容易,因为您不必填充下拉列表。

最新更新