データソースにデータテーブルを使用するGridView
コントロールがあります。コントロールのページングを有効にしました。GridView
には、指定した行の数がPageSize
として表示されます。しかし、ページングのナビゲーションがないので、私はページを変更する方法がありません。GridViewにページングナビゲーションが表示されない
質問:ページングナビゲーションを表示するにはどうすればよいですか?
GridView
定義:
<asp:GridView runat="server" ID="gvResults" CssClass="report" DataKeyNames="LogId" AllowSorting="True" AllowPaging="True" PageSize="5" OnRowDataBound="gvResults_OnRowDataBound" OnPageIndexChanging="gvResults_OnPageIndexChanging"></asp:GridView>
のC#:
//...stuff that gets data from database
DataTable dt = oDs.DataSet.Tables[0];
gvResults.DataSource = dt;
gvResults.DataBind();
注:私は、DataTableのdt
がベースの、100以上の行
そしてOnPageIndexChanging()
イベントを有しているデバッガで確認しましたthis questionの答えでは、私のケースでは機能しませんでしたが(私はなぜそれが必要なのか分からないあなたは右、最初の場所に表示するページングナビゲーションを必要とする次のページへ行くしようとするまでldn'tトリガ):?ここ
protected void gvResults_OnPageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView gv = (GridView)sender;
DataView dv = gv.DataSource as DataView;
if (dv != null)
{
DataTable dt = dv.Table;
gv.DataSource = dt;
}
gv.PageIndex = e.NewPageIndex;
gv.DataBind();
}
私は結果をページするための何らかの方法を見ています。
そうように私も、私のGridView
にPagerSettings
を追加しようとしている:ここで
<asp:GridView runat="server" ID="gvResults" CssClass="report" DataKeyNames="LogId" AllowSorting="True" AllowPaging="True" PageSize="5" OnRowDataBound="gvResults_OnRowDataBound" OnPageIndexChanging="gvResults_OnPageIndexChanging">
<PagerSettings Mode="NextPreviousFirstLast" FirstPageText="First" LastPageText="Last" NextPageText="Next" PreviousPageText="Previous" Position="Bottom"></PagerSettings>
</asp:GridView>
がレンダリングされたHTMLは、その最後の行のように見えるものです。ランタイム中にcssを変更して行を展開し、行が空であることを確認しました。 CSSによって隠されているページングコントロールはありません。
チェックHTMLレンダリングコードは、おそらくいくつかのCSSはそれ – Aristos
@Aristosを隠している - 私は、レンダリングされたHTMLのスクリーンショットで私の質問を更新しました。行の中には、ページング制御を持つべきものは何もありません。 –