1
我有一個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();
注:我在調試器,將數據表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();
}
我期望看到某種方式來瀏覽結果。
我也嘗試添加PagerSettings
我GridView
,像這樣:
<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的屏幕截圖。行中沒有任何內容應該具有分頁控件。 –