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; } }
|