1

我对将 datagridviews 绑定到数据集是全新的。我创建了一个数据集,并且(我认为)用来自 sql server 数据库的表填充了它。但是,当我尝试填充 datagridview 时,它只显示一个空白的 7 列表,其中包含 Column1、Column2 等列标题。我确定我错过了一些愚蠢的东西,但不知道从哪里开始看。有人看到有什么问题吗?

编辑 似乎我的数据集没有被填满。Dataset1.tables(0) 中没有行。从 GUI 看起来有一个叫做 AverageWeeklyLabsTableAdapter 的东西(见下图)。我想我假设数据集像 LINQ to SQL 一样工作,其中对象只是自动填充数据,但也许您需要调用代码来填充数据集?

加载事件...

    Dim myBindingSource As BindingSource = New BindingSource
    myBindingSource.DataSource = DataSet1.Tables(0) //has no rows
    DataGridView1.DataSource = myBindingSource
    DataGridView1.ReadOnly = True

数据集

在此处输入图像描述

4

1 回答 1

1

当我将数据加载到 adatagridview时,我使用 aBindingSource但从您有限的代码来看,您似乎并没有这样做。

因此,您将DataSet使用表格数据填充您的数据,然后使用您的数据加载您BindingSource的数据,类似于此(为简洁起见,代码缩短):

dataAdapter.Fill(table); 
bindingSource1.DataSource = table;
datagridview1.DataSource = bindingSource1;

根据您的编辑,您似乎并未实际填充数据。您必须使用来自表适配器的填充来从数据库中获取数据。此外,.net 将期望数据表的特定对象类型(基于数据集)有点像这样:

var adapter = new AverageWeeklyLabsTableAdapter();
var dataTable = new myForm.DataSet1.AverageWeeklyLabsDataTable
adapter.Fill(dataTable);
bindingSource1.DataSource = dataTable;
datagridview1.DataSource = bindingSource1;

这是关于表格适配器的另一个问题:

C# 表适配器实际返回什么?

于 2012-04-19T16:52:58.140 回答