gridview+objectdatasource+aspnetpager整合实例
作者:
前台代码:
<asp:GridView ID="viewIShow" runat="server" DataSourceID="ObjectDataSource1"
AllowPaging="True" AutoGenerateColumns="False"
OnRowCommand="viewIShow_RowCommand" PageSize="2"
OnPageIndexChanging="viewIShow_PageIndexChanging"
OnDataBound="viewIShow_DataBound">
<Columns>
<asp:BoundField DataField="title" HeaderText="名称" />
<asp:BoundField DataField="clicknum" HeaderText="播放次数" />
<asp:BoundField DataField="addtime" HeaderText="更新日期" />
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="up" CommandArgument='<%#Eval("id") %>'>晋级</asp:LinkButton><asp:LinkButton
ID="LinkButton2" runat="server" CommandName="down" CommandArgument='<%#Eval("id") %>'>降级</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerTemplate>
<table border="0" cellpadding="0" cellspacing="1" style="width: 100%; height: 100%;">
<tr style="height: 28px; padding-left: 20px;">
<td class="pages">
<webdiyer:AspNetPager ID="myPage" runat="server"
OnPageChanged="myPage_PageChanged" ></webdiyer:AspNetPager>
</td>
</tr>
</table>
</PagerTemplate>
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
DataObjectTypeName="AUDIOSYSTEM.Model.ishow" DeleteMethod="Delete"
InsertMethod="Add" SelectMethod="GetList" TypeName="AUDIOSYSTEM.BLL.ishow"
UpdateMethod="Update" OnSelected="ObjectDataSource1_Selected">
<SelectParameters>
<asp:Parameter Name="type" Type="String" DefaultValue="week" />
<asp:ControlParameter ControlID="txtStartTime"
DefaultValue="2000/01/01 00:00:00" Name="start"
PropertyName="Text" Type="DateTime" />
<asp:ControlParameter ControlID="txtEndTime" Name="end" PropertyName="Text"
Type="DateTime" DefaultValue="2500/01/01 00:00:00" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="videoId" Type="Int32" />
<asp:Parameter Name="type" Type="String" DefaultValue="week" />
</DeleteParameters>
</asp:ObjectDataSource>
后台代码:
protected void myPage_PageChanged(object sender, EventArgs e)
{
GridViewRow pagerRow = viewIShow.BottomPagerRow;
AspNetPager myPage = (AspNetPager)pagerRow.Cells[0].FindControl("myPage");
viewIShow.PageIndex = myPage.CurrentPageIndex - 1;
}
protected void viewIShow_DataBound(object sender, EventArgs e)
{
GridViewRow pagerRow = viewIShow.BottomPagerRow;
AspNetPager myPage = (AspNetPager)pagerRow.Cells[0].FindControl("myPage");
GridView view = (GridView)sender;
myPage.PageSize = view.PageSize;
myPage.CurrentPageIndex = view.PageIndex +1; //GridView分页索引是从0开始,AspNetPager是从1开始的
}
protected void ObjectDataSource1_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
DataSet ds = (DataSet)e.ReturnValue; //ObjectDataSource查询方法返回什么类型就转成什么类型
GridViewRow pagerRow = viewIShow.BottomPagerRow;
AspNetPager myPage = (AspNetPager)pagerRow.Cells[0].FindControl("myPage");
if (ds == null)
{
myPage.RecordCount = 0;
}
else
{
myPage.RecordCount = ds.Tables[0].Rows.Count;
}
}
您可能感兴趣的文章:
- asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页
- 动态指定任意类型的ObjectDataSource对象的查询参数
- ASP.NET中 ObjectDataSource控件的DataObjectTypeName属性
- 在ASP.NET 2.0中操作数据之一:创建一个数据访问层
- 在ASP.NET 2.0中操作数据之二:创建一个业务逻辑层
- 在ASP.NET 2.0中操作数据之三:创建母版页和站点导航
- 在ASP.NET 2.0中操作数据之四:使用ObjectDataSource展现数据
- 在ASP.NET 2.0中操作数据之五:声明参数
- 在ASP.NET 2.0中操作数据之六:编程设置ObjectDataSource的参数值