0

RadGrid が表示されているときにページングが表示されますが、次のページをクリックしようとすると、RadGrid が消えます。

この問題に役立つ可能性のある次のスクリーンショットを次に示します。

ASPページ

これは、RadGrid が最初に読み込まれる場所です。

これは、変更されたページのインデックスです

この問題を解決するためのガイダンスを教えてください。

4

2 に答える 2

3

PageIndexChangedファンキーなことは何もしていないので、イベントは必要ありません。

Ali Issaが言ったようにOnNeedDataSource、次のページにフェッチするときに呼び出されるイベントを使用する必要があります。

したがって、次の手順に従います。

  1. 次のコードを削除します。

    protected void RadGrid1_PageIndexChanged(object source, Telerik.Web.UI.GridPageChangedEventArgs e)
    {
        this.GridView1.CurrentPageIndex = e.NewPageIndex;
        GridView1.DataSource = tbl;
        GridView1.DataBind();
    }
    

    aspxファイル内:

    OnPageIndexChanged="RadGrid1_PageIndexChanged"

  2. そして、次のコードを追加します。

    protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
    {
        GridView1.DataSource = tbl;
    }
    

    aspxファイル内:

    OnNeedDataSource="RadGrid1_NeedDataSource"

tbl最後にもう1つ、サーバー呼び出しのたびに変数を再割り当てする必要があることを忘れないでください(変数でないtbl限り)Session。したがって、tblが少なくともで定義されていることを確認してください。ただし、データベース呼び出しPage_Loadに置き換えるのが最善です。tbl

于 2012-10-31T14:07:44.520 に答える
1

NeedDataSourceイベント時にグリッドをバインドしてから、pageindexchanged呼び出し時にグリッドをバインドしてみてくださいGridview1.Rebind();

于 2012-10-31T11:20:41.633 に答える