ASP.Net 网格视图不显示页码
本文关键字:显示 视图 Net 网格 ASP | 更新日期: 2023-09-27 18:36:40
我已经浏览了几篇文章和教程,但我就是想不通。 基本上一切都在说,"哦,只需打开允许分页,你就完成了! 当我这样做时,是的,我可以在设计视图中看到 GridView 下的分页控件,但是当我编译时,我看不到正在运行的网站中的页码。
我注意到与所有示例不同的一件事是,我从代码隐藏中执行数据工作。 因此,我的网格视图很简单:
<asp:GridView ID="gvlatest" runat="server" Width="99%" AllowSorting="True"
onrowdatabound="gvlatest_RowDataBound" onsorting="gvlatest_Sorting"
AllowPaging="True" PageSize="2" />
我所说的从后面执行数据工作的意思是,所有列和所有内容都是从代码构造到数据表中的,然后我将 GridView 的数据源设置为数据表。 例如,我所拥有的一个粗略的缩写版本:
DataTable temptable = new DataTable();
DataColumn titlecol = new DataColumn();
titlecol.ColumnName = "Title";
temptable.Columns.Add(titlecol);
gvlatest.DataSource = temptable;
gvlatest.DataBind();
我想这只是个人偏好,老实说,我实际上从未学会如何使用 DataSource 控件,并且所有示例都在使用,您可以在.aspx文件中使用列、数据源等构建 GridView。 所以我猜我的问题出在那个大方向上......
问题是,我做错了什么? 为什么页码不显示? 将"允许分页"设置为 true 真的是我需要做的吗?
要使分页正常工作,数据源必须支持它。如果没有,就像数据表一样,那么你必须自己做。
此代码应该会有所帮助。
OnPageIndexChanging="myGridview_PageIndexChanging"
protected void myGridview_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView gv = (GridView)sender;
DataView dv = gv.DataSource as DataView;
DataTable dataTable = dv.Table;
gv.DataSource = myDataTable;
gv.PageIndex = e.NewPageIndex;
gv.DataBind();
}
您必须
使用 gridview 中的 page_index 更改事件才能在网格视图中实现分页,请参阅此链接:
http://forums.asp.net/t/1245611.aspx
希望对您有所帮助
您可以禁用特定列并添加分页
protected void Gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == System.Web.UI.WebControls.DataControlRowType.DataRow)
//----------------------------------Grid view column invisible------------------------------------------------------------
if (Request.QueryString.Get("show") == "all")
GridView1.Columns[0].Visible = true;
else
GridView1.Columns[0].Visible = false;
//-------------------------------------------------------------------------------------------------------------------------
}
protected void Gridview1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
gvbind();// Grid View Binded
}
// Source Code
allowpaging="true" OnPageIndexChanging="Gridview1_PageIndexChanging" pagesize="2"