从数据集中获取数据

时间:2012-10-21 13:56:18

标签: c# winforms gridview dataset datasource

我使用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  

出现问题或者获取数据的方式不正确吗?

1 个答案:

答案 0 :(得分:0)

BindingSource有两个属性:

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

除了DataMember

之外,您还必须设置DataSource
    bs.DataMember = "TClient";