You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用导入的DataSet与TableAdapter填充WinForm的DataGridView

用已导入的DataSet和TableAdapter填充DataGridView的步骤

嘿,这事儿我熟!既然你已经通过向导导入了DataSet和对应的TableAdapter,那直接用它们来给DataGridView填数据比新建对象更省事,跟着下面的步骤来就行:

1. 准备窗体组件

先确保你已经把DataGridView拖到WinForm窗体上了。如果想要更灵活的数据操作(比如支持排序、筛选),可以额外拖一个BindingSource组件到窗体上——这个不是必须,但用起来会更顺手。

2. 实例化TableAdapter并填充DataSet

向导生成的TableAdapter是类,所以你需要先创建它的实例,再调用Fill方法把数据库数据填充到DataSet对应的DataTable中:

// 替换成你实际的DataSet和表名
var myTableAdapter = new MyDataSetTableAdapters.ProductsTableAdapter();
var myDataSet = new MyDataSet(); // 如果窗体上已经拖了DataSet组件,直接用那个实例就行

// 把数据填充到DataSet的Products表
myTableAdapter.Fill(myDataSet.Products);

3. 绑定到DataGridView

直接绑定DataTable

如果不用BindingSource,直接把DataGridView的DataSource指向DataSet里的DataTable即可:

dataGridView1.DataSource = myDataSet.Products;

通过BindingSource绑定(推荐)

先把BindingSource的数据源设为目标DataTable,再将DataGridView的数据源指向BindingSource:

// 假设你拖了一个名为bindingSource1的组件
bindingSource1.DataSource = myDataSet.Products;
dataGridView1.DataSource = bindingSource1;

这种方式的好处是后续做数据刷新、排序、筛选都会更方便,比如刷新数据只要重新调用myTableAdapter.Fill(myDataSet.Products);,BindingSource会自动同步到DataGridView。

额外小提示

  • 刷新数据:如果数据库里的数据更新了,再次调用TableAdapter.Fill()方法就行,不需要重新设置DataSource。
  • 保存修改:如果用户在DataGridView里修改了数据,直接调用TableAdapter.Update(myDataSet.YourTableName)就能把改动同步回数据库。
  • 连接字符串:向导生成的连接字符串已经存在app.config里,TableAdapter会自动读取,不用手动配置。

内容的提问来源于stack exchange,提问作者Rico Strydom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 09:06:49