有人可以帮助我获取数据以显示在 DataGridView vb.net 中吗?
Can someone assist me in getting data to display in a DataGridView vb.net?
当我以不同的方式对该应用程序进行编程时,当我发布有关此内容时运气不佳,因此我使用 DataAdapter 而不是 TableAdapter 方法重新编写了程序。
我需要帮助让数据显示在 vb.net 中的 DataGridView 工具中 我不确定我在这里做错了什么...列表框中的数据显示得很好。但不会显示在 DataGridView 工具中。 DataGridView 将显示字符串的长度。不确定为什么......请参阅下面的代码。 (顺便说一句,我创建列表框只是为了测试目的,不想使用它)
程序的作用:用户在每个房屋项目(例如:水泥工程)上打勾,然后项目获得 selected 项目所需的工具列表。项目名称位于复选框中,checkChanged 事件将文本分配给 SQL select 语句中的变量 "ProjectName"。
Private Sub Button1_Click_2(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim connection As OleDbConnection
Dim cmdString As String = "Select Distinct ToolName,Notes From Tools Where ProjectName = '" & carpentry & "' or ProjectName = '" & cementWork & "' Or ProjectName= '" & dryWall & "' Or ProjectName = '" & electrical _
& "' Or ProjectName = '" & HVAC & "' Or ProjectName = '" & laminateFlooring & "' Or ProjectName = '" & painting & "' Or ProjectName = '" & plumbing _
& "' Or ProjectName = '" & texture & "' Or ProjectName = '" & tileWork & "' Or ProjectName = '" & vinylFlooring & "'"
connection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=SaintEnterprises.mdb")
Dim adapter As New OleDbDataAdapter(cmdString, connection)
Dim tools As New DataSet
connection.Open()
adapter.Fill(tools)
Dim toolslist As New List(Of String)
ListBox1.Items.Clear()
For Each row As DataRow In tools.Tables(0).Rows
Dim s As String = row("toolname").ToString
'toolslist.Add(row("toolName").ToString) 'Does same thing as line toollist.add(s) below
toolslist.Add(s.ToString) 'add to List
ListBox1.Items.Add(s.ToString) 'Displays the type of tools based on the query.
Next
ToolsDataGridView.DataSource = toolslist 'displays the length (Total # of letters) of each toolname'
End Sub
虽然我可能不会回去使用 Table 适配器来完成它,但如果您想了解我使用 Table 适配器编写此应用程序的方式,请参阅此 link .
我认为您需要一个 DataTable 来填充您的 DataGridView。将您的 DataSet-Rows 转换为 DataTable。
我试过了,对我来说效果很好(假设你的数据库连接正常)。
Dim oData As New System.Data.DataTable
For Each oRow As System.Data.DataRow In tools.Tables(0).Rows
oData.ImportRow(oRow)
Next
ToolsDataGridView.DataSource = oData
当我以不同的方式对该应用程序进行编程时,当我发布有关此内容时运气不佳,因此我使用 DataAdapter 而不是 TableAdapter 方法重新编写了程序。
我需要帮助让数据显示在 vb.net 中的 DataGridView 工具中 我不确定我在这里做错了什么...列表框中的数据显示得很好。但不会显示在 DataGridView 工具中。 DataGridView 将显示字符串的长度。不确定为什么......请参阅下面的代码。 (顺便说一句,我创建列表框只是为了测试目的,不想使用它)
程序的作用:用户在每个房屋项目(例如:水泥工程)上打勾,然后项目获得 selected 项目所需的工具列表。项目名称位于复选框中,checkChanged 事件将文本分配给 SQL select 语句中的变量 "ProjectName"。
Private Sub Button1_Click_2(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim connection As OleDbConnection
Dim cmdString As String = "Select Distinct ToolName,Notes From Tools Where ProjectName = '" & carpentry & "' or ProjectName = '" & cementWork & "' Or ProjectName= '" & dryWall & "' Or ProjectName = '" & electrical _
& "' Or ProjectName = '" & HVAC & "' Or ProjectName = '" & laminateFlooring & "' Or ProjectName = '" & painting & "' Or ProjectName = '" & plumbing _
& "' Or ProjectName = '" & texture & "' Or ProjectName = '" & tileWork & "' Or ProjectName = '" & vinylFlooring & "'"
connection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=SaintEnterprises.mdb")
Dim adapter As New OleDbDataAdapter(cmdString, connection)
Dim tools As New DataSet
connection.Open()
adapter.Fill(tools)
Dim toolslist As New List(Of String)
ListBox1.Items.Clear()
For Each row As DataRow In tools.Tables(0).Rows
Dim s As String = row("toolname").ToString
'toolslist.Add(row("toolName").ToString) 'Does same thing as line toollist.add(s) below
toolslist.Add(s.ToString) 'add to List
ListBox1.Items.Add(s.ToString) 'Displays the type of tools based on the query.
Next
ToolsDataGridView.DataSource = toolslist 'displays the length (Total # of letters) of each toolname'
End Sub
虽然我可能不会回去使用 Table 适配器来完成它,但如果您想了解我使用 Table 适配器编写此应用程序的方式,请参阅此 link .
我认为您需要一个 DataTable 来填充您的 DataGridView。将您的 DataSet-Rows 转换为 DataTable。
我试过了,对我来说效果很好(假设你的数据库连接正常)。
Dim oData As New System.Data.DataTable
For Each oRow As System.Data.DataRow In tools.Tables(0).Rows
oData.ImportRow(oRow)
Next
ToolsDataGridView.DataSource = oData