ページングを非表示にしてGridViewを作成しようとしていますが、ページングはまだ許可されています。次に、自分自身のページングボタンをGridViewの外部に作成して、そのページをデータから取得したいと考えています。基本的に、これは、私のサイトで必要とされるルック、フィーリング、および機能性に合わせてカスタマイズできる、スティッキーポケットベルを備えたスクロール可能なグリッドビューを作成することです。誰にどのようにこれを行うにはどのようなアイデアがありますか?私は自分の探しているものをあまり見つけていない。GridView外部ページング
0
A
答えて
2
リピータをカスタムページングで使用することも、この要件に独自のユーザーコントロールを定義することもできます。リピータコントロールでこれを行う方法は、 this articleを確認してください。 更新: This
2
を助けるかもしれない、私はこの質問が答えた知っているし、今は本当に古いですが、私はこれで多くの問題を抱えていたし、見つけることができませんでした私は新しいコントロールを作成したくなかったので、主に答えが完全に役立ちました。
私はあなたがこれを非常に簡単に実際に行うことができることを発見しました。
私は、更新パネルの中に私のgridviewを作成しました。私は、私は表示されていないボタンをクリックし、データオブジェクトをビューステートに配置するグリッドのデータを読み込みます。それから私は、次のようなpagerSettingを追加します。
<PagerSettings Mode="NextPreviousFirstLast" Visible="false" />
は、その後、私は4つのボタンを追加し、ラベルと私は、サーバーに公開することを選んだのdivにテキストボックス:
<div runat="server" id="divPageControls" style="width:100%;margin-bottom:1%;margin-top:1%;display:none;">
<asp:Button runat="server" ID="btnFirst" Text="First" CssClass="ReOrderButtons" UseSubmitBehavior="false" />
<asp:Button runat="server" ID="btnPrev" Text="Previous" CssClass="ReOrderButtons" UseSubmitBehavior="false" />
<asp:Button runat="server" ID="btnNext" Text="Next" CssClass="ReOrderButtons" UseSubmitBehavior="false" />
<asp:Button runat="server" ID="btnLast" Text="Last" CssClass="ReOrderButtons" UseSubmitBehavior="false" /> <br /><br />
<asp:TextBox runat="server" ID="txtPageIndex" AutoPostBack="true" CssClass="priceQuote_TextBoxStyle" style="margin-left:20px;float:none;width:4%;text-align:center;" ></asp:TextBox> <asp:Label runat="server" ID="lblOfPages"></asp:Label>
</div>
は今、すべてがしていました場所は、私がしなければならなかったのは、イベントハンドラを追加することでした。すべてのその後
Protected Sub btnFirst_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFirst.Click
_mainView.PageIndex = 0
_mainView_PageIndexChanging(_mainView, New System.Web.UI.WebControls.GridViewPageEventArgs(_mainView.PageIndex))
End Sub
Protected Sub btnLast_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLast.Click
_mainView.PageIndex = _mainView.PageCount - 1
_mainView_PageIndexChanging(_mainView, New System.Web.UI.WebControls.GridViewPageEventArgs(_mainView.PageIndex))
End Sub
Protected Sub btnPrev_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrev.Click
_mainView.PageIndex -= 1
_mainView_PageIndexChanging(_mainView, New System.Web.UI.WebControls.GridViewPageEventArgs(_mainView.PageIndex))
End Sub
Protected Sub btnNext_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnNext.Click
_mainView.PageIndex += 1
_mainView_PageIndexChanging(_mainView, New System.Web.UI.WebControls.GridViewPageEventArgs(_mainView.PageIndex))
End Sub
Protected Sub txtPageIndex_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPageIndex.TextChanged
If fromInternal = False Then
If txtPageIndex.Text <> "" And IsNumeric(txtPageIndex.Text) Then
If CInt(txtPageIndex.Text - 1) < _mainView.PageCount - 1 And CInt(txtPageIndex.Text - 1) >= 0 Then
_mainView.PageIndex = CInt(txtPageIndex.Text - 1)
_mainView_PageIndexChanging(_mainView, New System.Web.UI.WebControls.GridViewPageEventArgs(_mainView.PageIndex))
End If
End If
End If
End Sub
Protected Sub _mainView_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles _mainView.PageIndexChanging
_mainView.PageIndex = e.NewPageIndex
_mainView.DataSource = ViewState("currProducts")
_mainView.DataBind()
End Sub
Protected Sub _mainView_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles _mainView.DataBound
If _mainView.PageCount > 1 Then
divPageControls.Style("display") = "block"
If _mainView.PageIndex = 0 Then
btnFirst.Style("display") = "none"
btnPrev.Style("display") = "none"
btnLast.Style("display") = "inline"
btnNext.Style("display") = "inline"
ElseIf _mainView.PageIndex > 0 And _mainView.PageIndex < _mainView.PageCount - 1 Then
btnFirst.Style("display") = "inline"
btnPrev.Style("display") = "inline"
btnLast.Style("display") = "inline"
btnNext.Style("display") = "inline"
ElseIf _mainView.PageIndex = _mainView.PageCount - 1 Then
btnLast.Style("display") = "none"
btnNext.Style("display") = "none"
btnFirst.Style("display") = "inline"
btnPrev.Style("display") = "inline"
End If
fromInternal = True
txtPageIndex.Text = CStr(_mainView.PageIndex + 1)
lblOfPages.Text = "of " & CStr(_mainView.PageCount - 1)
End If
End Sub
ボタンが押されたときに、girdviewのページのインデックスが変更された後、ビューのPageIndexChangingイベントに渡されます。これは私のためにすばらしい働きをしていて、他の誰かがそれを使うことを願っています。
アップデートパネルや他のニュアンスの非同期トリガは表示されませんでしたが、自分のような更新パネルを使用していない限り、ページングには必要ないとは思いません。
関連する問題
- 1. gridviewページング
- 2. GridViewページングとソート
- 3. PagedDatasource for gridviewページング
- 4. ページングGridViewの
- 5. ページングの問題gridview
- 6. JavaのjqGrid-jQueryの外部ページング
- 7. Telerikグリッドのページングやソート外部データソース
- 8. ページング付きのGridview footable
- 9. のObjectDataSourceページング - > GridViewの
- 10. FooTableブートストラップGridview列幅ページング時
- 11. GridViewのリピータ内でのページング
- 12. GridViewのページングでチェックボックスのチェックを外します
- 13. 外部スクロールバーを持つAndroid Gridview
- 14. 外部UIスレッドからgridviewを更新
- 15. gridview AJAXページング、画像並べ替え
- 16. ASP.netでgridviewをページングする方法
- 17. GridViewをXLSにエクスポート---ページングの問題
- 18. asp.net 2008のGridviewページングの実装
- 19. JQueryを使用したGridviewページング
- 20. gridviewページングが機能しない
- 21. SqlDataSourceを使用したGridViewのページング
- 22. 外部キーとページングを使用した表示モデル
- 23. gridviewにページングがある場合、gridviewをExcelにエクスポートできます
- 24. Image GridViewの内部
- 25. 外部画像を使用したAndroid Bind GridView?
- 26. Yii gridviewは値の外部変数を使用します
- 27. GridViewのEntity Frameworkでの外部キー値によるソート?
- 28. asp.net gridviewコントロールはページング番号を表示しません
- 29. GridViewページングで更新するUpdatePanelを取得できません
- 30. Gridviewがページングの後で並べ替えを維持しない
私はGridViewであらかじめパッケージ化された機能を使いたいと思っています。これを行うことは可能ですか?私はパフォーマンスについて間違っていますか? – steventnorris
リピーターは広く使用されているコントロールです。あなたはどんなパフォーマンスを指していますか?パフォーマンスは、データベースのクエリ(取得するレコードの数)に大きく依存するか、クライアントが賢明であることを意味しますか? (グリッドビュー用のカスタムページングで私の答えを更新しましたが)多くの作業が必要になるかもしれません。 –
これは私が探しているものを明確にするのに役立ちます。私は、データセット全体、ページ番号、およびデータ表示の速度をソートする必要があります(大規模なデータセットであっても、おそらく数千のレコード)。ヘッダー/ソートとフッター/ページネーションは、スクロールする中央のデータテーブルに対して「スティッキー」である必要があります。私はキャッシュされた応答を、SQLの代わりにすべてのページ/ソートを考慮していました。これはGridViewが処理すると考えています。また、GridViewはスティッキーヘッド/フット以外の他の機能も処理します。リピーターはこれらの機能も提供していますか? – steventnorris