0

ボタンをクリックするとデータをロードするグリッドビューがあります。何らかの理由でページングが機能しませんでした。ページング番号が表示されますが、ページ # 2、3、または 4 をクリックしてもどこにも移動しません。それらをクリックすると、グリッドが消えます。その直後にボタンをクリックしてグリッドを生成すると、今度はグリッドが 1 ページではなく 2 ページまたは 3 ページに表示されます。

page_indexing については次のように適切に記述しています。

    Protected Sub GV_Document_Hide_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GV_PSIDocument_Hide.PageIndexChanging
    GV_Document_Hide.PageIndex = e.NewPageIndex
End Sub

他のスレッドで提案されているように、ページインデックス変更内に databind() コードを追加してみましたが、違いはありませんでした。

これを実現する唯一の方法は、page_load でグリッドを設定/ロードすることでした。ポストバックに関係なく、毎回データソースを割り当ててデータバインドする必要があります。IsNotpostback を試したところ、ページングが再び失敗しました

ページングが適切に機能する必要がある場合、gridview が毎回 page_load でロードする必要があるのはなぜですか?

4

2 に答える 2

1

毎回 Page_Load は必要ありません。ただし、ページを変更するときは、新しいページの新しいレコードをロードできるように、データ ソースに再バインドする必要があります。必要に応じて、ページの変更を処理するイベントでそれを行うことができます。

于 2010-10-26T17:28:09.860 に答える
0

ページで更新パネルを使用していますか? Obout グリッド ページングは​​、MS UpdatePanel では機能しません。独自のパネルを使用する必要があります: https://www.obout.com/ajaxpage/cp_howitworks.aspx うまくいかない場合は、serialize=false を設定してみてください。

于 2013-12-18T10:21:35.823 に答える