2010-11-04 45 views
0

我对C#(和Visual Studio)很新颖,并且遇到了问题。使用基于SELECT语句的DataTable和TableAdapter填充DataGridView

我有一个Access数据库,我正在使用,我需要使用SELECT语句填充DataGridView。这是我迄今为止所做的:

  1. 打开我的DataSet.xsd文件。
  2. 根据我想运行的SELECT语句创建一个新的DataTable(称为MyNewTable)和TableAdapter。
  3. 去我的Form.cs文件,添加一个DataGridView,并将其数据源设置为Other Data Sources > Project Data Sources > DataSet > MyNewTable
  4. 构建并运行程序。

但是,当我运行它时,它不显示任何行。因此,为了检查并使我的SELECT语句实际返回行,我回到我的DataSet.xsd文件并右键单击MyNewTable并选择Preview Data。果然,当我点击预览数据按钮时,表格中有两行。

只是为了检查并确保我没有在绑定中做错什么,我试着返回并将DataSource设置为不同的表(从数据库中的实际表,而不是基于SELECT语句的表)。当我用真实表格重新显示数据时。

那么我做错了什么?创建显示SELECT语句结果的DataGridView的正确过程是什么?

回答

2

简单..

看到首先是去您的窗体的XAML ..发现你拖在DataGridView .. 在那里,你必须找到的AutoGenerateColumns属性,然后将其设置为

之后回到你的C#代码和不喜欢这样

...

yourdataset x = new yourdataset(); 
yourtableadapter y = new yourtableadapter(); 
y.Fill(x.yourtable); 
datagridview1.itemsource = x.yourtable.defaultview ; 

请记住..这是不准确的代码......这只是为了说明的缘故.. 您的数据集和表名可能会有所不同。所以使用适当的名称.. 任何问题,让我知道..

-1

是,上面的代码工作但只适用于FillGet状态。不要为其他提供任何行选择查询。 你可能不得不实施一个存储过程,然后你可以做任何你想要的