1

我已经使用Add new data source. 然后我创建BindingSource bs并使用 GetData 方法填充数据(ShoppingMallDataSet 是新添加的数据集)

void GetData(){
    using(ShoppingMallDataSet smds = new ShoppingMallDataSet())
    {
         using (var conn = new SqlConnection(connection_string))
         {
              using (var adapter = new   ShoppingMallDataSetTableAdapters.TClientTableAdapter() { Connection = conn })
              {
                  adapter.Fill(smds.TClient);
                  bs.DataSource = smds.TClient;
              }
         }
    } 
}

我设置了datagrid数据源的值,rgv.DataSource = bs然后调用了这个方法GetData()。在调试器中 bs.DataSource 不是 null 并且它有数据。但是gridview没有列,没有数据(但同时数据源不为空)

BindingSource bs = new BindingSource();
.....
rgv.DataSource = bs;
GetData();
....... // rgv doesn't have any data but datasource is not null and has the same value as bs  

是有问题还是获取数据的方式不正确?

4

1 回答 1

0

BindingSource有两个属性:

  • DataSource:您必须将数据集分配给此属性
  • DataMember:您必须为该属性分配数据集的表名

您必须设置DataMember除了DataSource

    bs.DataMember = "TClient";
于 2012-10-21T17:30:27.407 回答