VB.Net 用 dataset1 表行填充 DataGridview
Posted
技术标签:
【中文标题】VB.Net 用 dataset1 表行填充 DataGridview【英文标题】:VB.Net Filling DataGridview with dataset1 table rows 【发布时间】:2017-10-04 08:52:39 【问题描述】:这里的菜鸟,已将 SQL 数据库作为数据源导入表单应用程序,但是当我单击预览时,没有显示任何行。
Public Class Form1
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the "DataSet1.Ac_Billbook" table. You can move, or remove it, as needed.
'Me.Ac_BillbookTableAdapter.Fill(Me.DataSet1.Ac_Billbook)
For Each table In DataSet1.Tables
ComboBox1.Items.Add(table.ToString)
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
DataGridView1.DataSource = DataSet1.Tables(ComboBox1.SelectedItem)
'DataGridView1.DataBind()
End Sub
End Class
这个想法是我可以通过查看表格并快速查看表格来预览表格字段。
【问题讨论】:
试试DataSet1.Tables(ComboBox1.SelectedItem).DefaultView
GridView 现在完全空白
【参考方案1】:
您可以分解将表格分配为数据源的行,以便您可以使用断点并使用 VS 的“数据集可视化工具”(带有放大镜的小图标将显示它)功能来检查表格内容.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim dt as New DataTable
dt = DataSet1.Tables(ComboBox1.SelectedItem).DefaultView
DataGridView1.DataSource = dt
End Sub
在“DataGridView1.DataSource = dt”的行上放一个断点,看看数据表是否有所需的行。 如果没有数据,也用第一个表测试:
dt = DataSet1.Tables(0).DefaultView
如果仍然没有数据,那么您的数据库表中将一无所获。
【讨论】:
在这一行出现错误:dt = DataSet1.Tables(ComboBox1.SelectedItem).DefaultView)
无法将“System.Data.DataView”类型的对象转换为“System.Data.DataTable”类型。
嗯,然后去掉“.DefaultView”。我看到我仅将 .DefaultView 与 DataSource 一起使用。它应该可以工作。
好的,现在似乎按照我原来的帖子显示列标题 - 没有行 - 我需要指定数据成员吗?
按照上面的说明和图片,您在 DataSet Visualizer 中看到了什么?也是空的吗?
我怀疑,您传递给 Tables() 的表名不匹配或已损坏。顺便说一下,SelectedItem 可以给你一个数组行(广告它不起作用)。我肯定会使用 Combobox1.ValueMember 以上是关于VB.Net 用 dataset1 表行填充 DataGridview的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 vb.net 2003 在 asp.net 1.1 中手动填充数据网格?