- - PR -
DataGridへの結果表示
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-03-11 20:13
引用: -------------------------------------------------------------------------------- ここのCurrentPageIndexを設定しているところですが、なんか、ひっかかる。このメソッドをコールしたメソッドを抜けた後に、DataGrid_PageIndexChangedメソッドが実行されたりしていませんか? -------------------------------------------------------------------------------- DataGrid_PageIndexChangedにもブレークポイント張って確認しましたが 実行されませんでした。 (※DataGridのPageSizeは5です) 自動変数ウィンドウで確認したところ "DataGrid.CurrentPageIndex = Session("PageNo")"では "DataGrid2.CurrentPageIndex"は0 "ds.Tables(TableName0).DefaultView"のCountには 期待通りの検索件数が入っていて "DataGrid2.DataBind()"では "DataGrid2.CurrentPageIndex"は0 "DataGrid2.Items.Count"は5 "If DataGrid2.Items.Count = 0 Then"では "DataGrid2.Items.Count"は0 となっていました。 他に確認すべき箇所があればご教授いただけますでしょうか。 よろしくお願いいたします。 | ||||||||
|
投稿日時: 2004-03-12 02:12
tetsuya11さんとちょっとした知り合い(でも実際にはあったこと無い)なので、ソースを丸ごと拝借してみてみました。
結論としては 1. Page_LoadでDataBindしているが、このときのDataSourceにはDataSet_receiptを使っている(aspxで定義している) 2. 担当者?のDropDownListの選択時にWHERE区を作っているが、このときはds(別のDataSetの変数)を使っていてBindしている ということで、.aspxと.vbで定義がぐちゃぐちゃになっているのが原因でした。 他にソートやFilter(WHERE),ページング程度でセッションを多様している様子で、そのためにRedirectを使っているみたいです。実際にはViewStateで十分かと。 (ViewStateを無効にしているわけでもないし) ということでたぶんこれで解決できると思います。 tetsuya11さんも.vbだけを記載しているため、他の人にはわからない障害かと思いました。 | ||||||||
|
投稿日時: 2004-03-12 11:00
引用されていないところの問題とは思っていましたが、まさか.aspxと.aspx.vbの両方でソースを書いている(プロパティの設定?)とまでは考えませんでした... masasさん、ご報告くださり、ありがとうございました。これで安心して寝られます(マジで夢の中でこねくり回していた)。 そうそう、今、当方で「セッションタイムアウトまで達していないはずなのにセッションが切れる」という報告があり、調べたところ、セッションの保存をインプロセスにしていると、ASP.NETのワーカプロセスが再起動したときにセッション情報が失われます。そして、再起動の要件として、システム全体のメモリの60%(デフォルト)に当たるメモリ量を確保したときに、ワーカプロセスが再起動することがわかりました。セッション変数を多用すると、メモリ確保量が大きくなるので、ご注意。 出典:MSDNトピック「<processModel>要素」、「セッション状態」 | ||||||||
|
投稿日時: 2004-03-12 11:34
前のプロジェクトで同様の現象がありました。 しかも全国ン十個所にある支社が一斉にセッション切れ(笑)。 サーバは本社にある為、その日は支社からの電話が絶えなかったとか。 原因はその時調べて分かったのですが、お客さんにこっぴどく叱られました。 私じゃないですけど #脱線してすみません。 _________________ まゆりん @ わんくま同盟 Blog る。 | ||||||||
|
投稿日時: 2004-03-12 11:35
Jittaさん、masasさん、ありがとうございました。 DataGridのDataSourceプロパティの設定を削除したら ちゃんと表示され解決しました。 まだまだ勉強不足ですが、これに懲りずに、 また宜しくお願いいたします。 m(_ _)m PS. Jittaさん、今夜はイイ夢を観れることを祈っております。 | ||||||||
|
投稿日時: 2004-03-12 13:21
よかったです。 私もソースをもらって、「ん?変なところがないぞ!」ってちょっと悩んでしまいました。 おまけにVBって嫌いなので、見づらい見づらい。 結局30分ほどDEBUGしてみて解決しました。 ちなみに、VB.NETでVS.NETからDEBUGGERをスタートさせると、数十秒止まっていますが これは仕様なんですか?。
しらなかった。これは大変勉強になります。m(_)m | ||||||||
|
投稿日時: 2004-03-12 13:58
これはWebアプリのとき、ですよね?スタートもだし、止めるときもかたまりますよね。 おそらく、ワーカプロセスにアタッチして、IEを起動させるのに時間がかかっていると思われます。ワーカプロセスにアタッチするだけなら、数秒で済んでいるのに…? | ||||||||
|
投稿日時: 2004-03-12 14:50
言葉足りずですみません。Webアプリの場合です。 でもC#でWebアプリを作って、スタートさせても、直ぐIEが起動するんですよ。 同じCLRなのに???と思ったまででした。 |