- - PR -
GridView.DataSourceをコードで指定時のトラブル
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-09-19 08:59
お世話になります。
VisualWebDeveloper SP1で開発しています。 コードで、GridView.DataSourceに OdbcDataReaderから作成したDataReaderを指定しています。 GridViewのCommandFieldで作成した編集ボタンを押すと 1度目の編集ボタン押下ではGridViewが編集状態になりません。 2度押すと編集状態になります。 このとき別の行の編集ボタンを押すと2度目に押した行ではなく 1度目に押した行が編集状態になります。 またキャンセルボタンも同様に2回押す必要があります。 DataSourceをSqlDataSourceに設定すると、このようなことはなく 1度目に押した行が編集状態になります。 GridViewだけでなく、DetailsViewでも同様でした。 何か対策はありますでしょうか? よろしくお願いいたします。 [ メッセージ編集済み 編集者: たど 編集日時 2007-09-19 09:13 ] |
|
投稿日時: 2007-09-20 15:00
DataSourceにDataReaderを設定する作業はどのようにして行っていますか?
たぶん設定のタイミングとかの問題じゃなかったかと思います。 |
|
投稿日時: 2007-09-20 17:09
どっとねっとふぁんさん、ありがとうございます。
Page_Loadで、 Dim reader as OdbcDataReader = (New HOGE).SelectAllDataReader GridView1.DataSource = reader GridView1.DataBind() としています。 |
|
投稿日時: 2007-09-20 17:22
Postback時(IsPostBackがtrueのとき)にDataBindしないようにしたらどうなります?
#たぶんそれでいけたと思うけど、もしかしたら違ってたかもしれん。 |
|
投稿日時: 2007-09-20 18:06
たびたびありがとうございます。
Page_Loadで下記のようにしてみたところポストバック時には GridViewにデータがなくGridViewが表示されなくなってしまいました。。。 If IsPostBack = False Then Dim reader as OdbcDataReader = (New HOGE).SelectAllDataReader GridView1.DataSource = reader GridView1.DataBind() End If |
|
投稿日時: 2007-09-20 18:42
ああ、そうですね。。。
前に同じような状況になった記憶はあるんだけど、なんでそうなったんだか 思い出せなくて。 #出先なんで試すわけにもいかず。。。 |
1