gridview分页(GridView分页显示的实验报告)

http://www.itjxue.com  2023-02-18 15:49  来源:未知  点击次数: 

GridView实现分页,上一页、下一页、、、要独立于控件

设置gridview属性allowpaging为true,PagerSettings属性设置如下

PagerSettings FirstPageText="首页" LastPageText="尾页" Mode="NextPreviousFirstLast"

NextPageText="下一页" PreviousPageText="上一页" /

查询结果用gridview分页,点击下一页报错,求大神帮忙,不要百度糊弄我

你需要做如下改进才能达到设置了查询条件,查询出结果后还能进行下一页的切换:

1. 在GridView 的属性里增加分页响应事件: OnPageIndexChanging="GridView1_PageIndexChanging" AllowPaging="True"

如:

asp:GridView ID="GridView1" Width="1400" runat="server" AutoGenerateColumns="False" GridLines="None" PageSize="5" EmptyDataText="No Data" OnPageIndexChanging="GridView1_PageIndexChanging" AllowPaging="True"

2. 调整你的代码,你现在的代码是不支持分页的,需要进行调整。

最简单办法是:在后台增加缓存数据的变量将从数据库中查询到的数据保存到Session中,然后在进行数据绑定时调用此Session缓存的数据

简单的实例:

/// summary

/// 缓存数据集

/// /summary

protected DataSet CacheDataSet

{

get

{

if (null == Session["DataSet"])

{

Session["DataSet"] = new DataSet();

}

return (DataSet)Session["DataSet"];

}

set

{

Session["DataSet"] = value;

}

}

/// summary

/// 获取数据库数据

/// /summary

private void getDate(string searchCondition)

{

string strSQL = "Select Sid,Rid,Bid,Bname,Borrowdate,returndate from State where Bname like '%" + searchCondition + "%'";

OracleCommand myComm = new OracleCommand(strSQL, conn);

conn.Open();

OracleDataAdapter adapter = new OracleDataAdapter(myComm);

DataSet dataset = new DataSet();

adapter.Fill(dataset);

CacheDataSet = dataset;

conn.Close();

}

/// summary

/// 表格数据分页显示

/// /summary

private void doSearch(int pageIndex)

{

try

{

GridView1.PageIndex = pageIndex;

GridView1.DataSource = CacheDataSet;

GridView1.DataBind();

}

catch (Exception)

{

GridView1.EmptyDataText = "Database ERROR";

GridView1.DataSource = null;

GridView1.DataBind();

GridView1.EmptyDataText = "No Data";

}

}

/// summary

/// 处理分页事件

/// /summary

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)

{

doSearch(e.NewPageIndex);

}

// 进行调整后的原来的代码

if (DropDownList1.SelectedIndex == 1)

{

getDate(TextBox1.Text);

doSearch(0);

}

主从表显示从表的Gridview怎么实现分页

比如 有userInfo 和bookInfo 两张表

select * from userInfo inner join bookInfo on

userInfo.id=bookInfo.id

where userInfo.id between (PageNum-1)*PageSize and ((PageNum-1)*PageSize)+PageSize)

PageNum 用户翻到的当前页

PageSize 每页的最大行数

(PageNum-1)*PageSize 一个算法,只是算出当前页的第一条数据

((PageNum-1)*PageSize)+PageSize) 算出当前页的最后一条数据

最好的办法是 用 RowNumber在数据库里分页

如果是对Gridview 的数据源 dataset分页也可以(不过这样不科学。。。)

int beginPage=(PageNum-1)*PageSize; //翻页后的第一条数据

int endPage=((PageNum-1)*PageSize)+PageSize); //翻页后的最后一条数据

for(int i=beginPage;iendPage;i++)

{

赋值给一个新的dataset

}

然后把新的dataset交给 Gridview

如何调整Gridview的分页显示位置

1、如果你想让所有的数据显示在一页里,而不启用分页可以设置AllowPaging=false 。 2、如果你想用自己设计的分页样式,而不显示gv预定的分页样式可以设置Gridview的 “pagersettings”属性里的 visible=false ,并且AllowPaging=true。这样你就可以通过更改Gridview.pageIndex属性值来改变分页。

(责任编辑:IT教学网)

更多

相关网站策划文章

推荐网站策划文章