手把手教你如何扩展GridView之自带分页
最新重构源码下载:
打造0代码全自动GridView-天具神力
您在使用GridView的时候是不是每次都要处理分页事件OnPageIndexChanging,面对成千上万的页面,您是否在页面中都有这样的代码: this.PageIndex = e.NewPageIndex;,看着原来写的臃肿的页面代码,您高兴的起来么?现在考验程序员水平的标准不再是写过多少行代码了,同志们,而是用最少的代码实现最多的功能。
下面谈谈怎么实现一个自己会分页的GridView扩展,进一步实现GridView的自动化。
首先谈谈实现这个功能的思路,我们在平时无奈的写下 this.PageIndex = e.NewPageIndex;的时候,下面作的事情肯定是获取数据源并绑定GridView,那么在我们的组件中,我们需要在GridView内部通知外部页面,hi,页面大哥,我现在换页了,给俺个数据源,并给我绑上!,这个时候,大家第一个反映肯定是利用委托事件了,我们用一个委托来实现去外部获取数据源的目的,声明一个委托:publicdelegatevoidBindEventHandler();
然后在GridView扩展中声明一个实现BindEventHandler的事件publiceventBindEventHandlerBind;publicvirtualvoidOnBind(){if(Bind!=null){Bind();if(DataSource!=null){this
.DataBind();}}}
然后重写OnPageIndexChanging事件protectedoverridevoidOnPageIndexChanging(GridViewPageEventArgse){this
.PageIndex=
e.NewPageIndex;OnBind();}:
现在对GridView的扩展就完成了,简单吧,使用的时候需要注意的是,GridView必须实现bind事件,就是一定要给OnBind设置一个函数,在这个函数里面可以页面参数(Request.Param)或者控件内容(TextBox1.Text),或者其他条件来获取动态数据,并将得到的数据集合设置为GridView的DataSource,这样GridView就自己会分页了。
上篇文章地址:
最新重构源码下载:
android gridview 怎么分页?
你可以这样,多少个item为一页,超过i(页数)*items(每页的元素),则重新加载,那么就达到了目的
GridView控件的分页样式如何制作?
<asp:GridView runat="server" ID="gvStatList" AllowPaging="false" Width="100%" CssClass="grid"
AutoGenerateColumns="false" Visible="true" ShowFooter="false">
<HeaderStyle CssClass="grid-head" />
</asp:GridView>
- CSS code
- .grid-head {
font-size: 14px;
font-weight: normal;
color: #FFFFFF;
background-image: url(../images/grid-bg.gif);
text-align:center;
vertical-align:middle;
height: 28px;
}
gridview如何分页控制显示的行数?大虾帮帮忙
分页控制显示的行数: “PageSize="20"”就是显示20行
不要显示1234:与之间加
GridView分页,用什么方法高效,最好?我写的分页,发现每次都会与数据库交互一次,担心影响数据库性能
第三方控件AspNetPager.dll
自己去下载个
使用方法:
先“添加引用”把AspNetPager.dll引用到bin中
后 在 前台上方添加 <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
在所需要的地方加上
后台加上:protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
AspNetPager1.CurrentPageIndex = e.NewPageIndex;
Bind();//绑定的数据源
}
bing()中再加上: AspNetPager1.RecordCount = ds.Tables[0].Rows.Count;//获得总行数
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ds.Tables[0].DefaultView;
pds.AllowPaging = true;
pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
pds.PageSize = AspNetPager1.PageSize;
GridView1.DataSource = pds;
GridView1.DataBind();