2009-03-30 87 views
2

これはどういう意味ですか?IListSourceにデータソースがありません

このエラーを回避するには、データテーブルの行数がゼロより大きい場合にのみ、グリッドビューをデータセットにバインドすることをお勧めします。

しかし、たとえば、検索でレコードが返されなかった場合、データテーブルには行がありませんが、依然としてデータセットにバインドできますか?

行がデータセット(またはデータテーブル)に含まれているかどうかを確認する以外に、ilistに有効なデータソースが含まれていることを確認する方法を教えてください。

これにはどのような方法が最適ですか?

答えて

7

あなたがこれを使用していることを確認してください:

if (!this.IsPostBack) 
{ 
} 

また、あなたはその後、他のreturn dataSetreturn null;

dataSet.Tables.Count > 0をチェックすることができ、私は、データセットの戻りはIListSourceは、任意のデータソースをCount = 0

0

が含まれていませんしていると思います。

WebサーバーがIISサーバーでホストされている場合にこのエラーが発生するのはなぜですか。

これはデータソースがサーバーと正しく接続していないためです。

私はこのメソッドを呼び出すときにこのポストバックチェックを使用しています。

if (!this.IsPostBack) { ... } 
0

することは、あなたの接続文字列を確認してくださいGridViewの

1

にデータを結合した後、接続を閉じていることを確認してください。私の場合、接続文字列が問題でした。

1

古いスレッドですが、(私たちのレガシーシステムを見ながら)このエラーが最近発生したことを人々に知らせたいと思っていただけで、データソースを直接データセットにバインドすることに関連していました。

Dim MyDs As new Dataset 
MyDs = GetFromDataBase() 

MyDropDownList.Datasource = MyDs 

奇妙なことは、私が何年も何年も、このようなコードを行っているということでした、プラスそれは私のローカルマシン(最高のDevライン史上= P)にうまく働いたが、サーバ上で、それはちょうどクラッシュ続けました。

私は

MyDropDownList.Datasource = MyDs.Tables(0) 

をしなければならなかった多分これは、Windows 2008 Serverのではなく、確かに.NET 4.0とは何かですが、うまくいけば、これは、誰かがあなたの目は言う何かのバグ狩りの30分を無駄にすることに役立つかもしれません完全に素晴らしい(すべての旧式の)コードです。

+0

私はまったく同じ状況にありました。それは私のローカルマシン上のIISで完全に正常に動作していたことが奇妙なことを発見しました。次のように行を変更します。 'gridView.DataSource = dataSet.Tables [0];'とpresto – Carel

関連する問題