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;
              }
         }
    } 
}

データグリッド データソースの値を設定rgv.DataSource = bsしてから、このメソッド GetData() を呼び出します。デバッガー bs.DataSource では null ではなく、データがあります。ただし、グリッドビューには列もデータもありません(ただし、同時にデータソースはnullではありません)

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

BindingSource2つのプロパティがあります。

  • データセット:データセットをこのプロパティに割り当てる必要があります
  • DataMember:このプロパティにデータセットのテーブル名を割り当てる必要があります

DataMemberに加えて設定する必要がありますDataSource

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