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

(0)

相关推荐

  • 在ASP.NET 2.0中操作数据之三:创建母版页和站点导航

    导言 通常,用户友好的个性化站点都有着一致的,站点统一的页面布局和导航体系.Asp.net 2.0引入的两个新特性给我们在统一站点的页面布局和站点导航上提供了简单而有效的工具,它们是母板页和站点导航.母板页允许开发者创建统一的站点模板和指定的可编辑区域.这样,aspx页面只需要给模板页中指定的可编辑区域提供填充内容就可以了,所有在母板页中定义的其他标记将出现在所有使用了该母板页的aspx页面中.这种模式允许开发者可以统一的管理和定义站点的页面布局,因此可以容易的得到拥有统一的视觉和感觉的页面并且

  • ASP.NET中 ObjectDataSource控件的DataObjectTypeName属性

    一.ObjectDataSource 控件说明 获取或设置某个类的名称,ObjectDataSource 控件将该类用于更新.插入或删除数据操作中的参数,而不是从数据绑定控件传递个别的值. 您不用指定传递给 Update.Insert 和 Delete 方法的多个参数,而是可以创建一个累计多个数据字段值的对象.仅给方法传递这一个对象,而不是多个参数. 绑定到数据绑定控件的 ObjectDataSource 控件的默认行为是,数据绑定控件为数据源中的每个参数创建一个 Parameter 对象.如果

  • 在ASP.NET 2.0中操作数据之四:使用ObjectDataSource展现数据

    在完成了应用程序架构和页面的设计后,我们可以开始探讨如何实现多种多样的普通数据到报表展现的任务.前面我们已经了解到如何在从数据访问层和业务逻辑层绑定数据到ASP.NET页面上的数据控件.在ASP.NET 1.x应用程序中,通过对数据控件的DataSource属性赋值然后调用控件的DataBind()方法从而实现数据展现的方式在ASP.NET 2.0应用程序中可以继续使用.然而,ASP.NET 2.0的数据源控件提供了一种新的方式,使用这些控件可以让你轻松从上文中创建的业务逻辑层中进行数据绑定,甚

  • 在ASP.NET 2.0中操作数据之五:声明参数

    导言 在上一章的教程中,我们看了GridView.DetailsView和FormView绑定到OjbectDataSource控件显示数据,ObjectDataSource调用了类ProductsBLL的GetProducts()方法.方法GetProducts()返回一个有Northwind数据库的Products表的所有记录组成的强类型数据表.类ProductsBLL还包含了其它返回部分数据的方法:GetProductByProductID(productID),GetProductsBy

  • 在ASP.NET 2.0中操作数据之二:创建一个业务逻辑层

    导言 本教程的第一节所描述的数据访问层(Data Access Layer,以下简称为DAL)已经清晰地将表示逻辑与数据访问逻辑区分开了.不过,即使DAL将数据访问的细节从表示层中分离出来了,可它却不能处理任何的业务规则.比如说,我们可能不希望产品表中那些被标记为"停用"的产品的"分类编号"或"供应商编号"被更新:我们还可能需要应用一些资历规则,比如说我们都不希望被比自己的资历还要浅的人管理.另外一个比较常见的情况就是授权,比如说只有那些具有特殊

  • 在ASP.NET 2.0中操作数据之六:编程设置ObjectDataSource的参数值

    导言 正如我们在上一节的教程中所看到的,有很多可供选择的方式把参数的值传递到OjbectDataSource的方法里.假如参数值是采用硬编码方式,来源于页面上的一个Web控件,又或者其他可被数据源Parameter对象读取的源,那么这个值可以绑定到输入参数而不需要写一行的代码. 然而有些时候,参数值来自某些在数据源的内置Parameter对象里还没有计算出来的源.假如我们的站点支持我们的考虑那么我们也许希望参数基于当前登录用户.又或者我们在参数传送到ObjectDataSource的隐含对象的方

  • 动态指定任意类型的ObjectDataSource对象的查询参数

    ObjectDataSource在使用时需要事先指定查询方法SelectMethod(其实还有InsertMethod,UpdateMethod和DeleteMethod),TypeName和DataObjectTypeName,然后我们只需要编写好SelectMethod方法的实现,如果需要分页,那么还要指定MaximumRwosParameterName属性和StartRowIndexParameterName,然后在SelectMethod方法中加上相应的参数,当然,SelectCount

  • asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页

    ListView控件本身并没有分页功能,不过借助于ASP.NET中新增加的DataPager控件,我们可以非常方便地对ListView中的数据设置分页,这几乎不需要开发人员写一行代码,将ListView控件放到页面上,设置好布局和DataSource,然后再添加一个DataPager控件,将它的PagedControlID属性设置成ListView的ID,PageSize中设置每页要显示的数据条数,然后在Fields中设置好分页的样式(当然你完全可以不用去管样式,ASP.NET会根据内置的样式来

  • 在ASP.NET 2.0中操作数据之一:创建一个数据访问层

    导言 作为web开发人员,我们的生活围绕着数据操作.我们建立数据库来存储数据,写编码来访问和修改数据,设计网页来采集和汇总数据.本文是研究在ASP.NET 2.0中实现这些常见的数据访问模式之技术的长篇系列教程的第一篇.我们将从创建一个软件框架开始,这个框架的组成部分包括一个使用强类型的DataSet的数据访问层(DAL),一个实施用户定义的业务规则的业务逻辑层(BLL),以及一个由共享页面布局的ASP.NET网页组成的表现层.在打下这个后端的基础工作之后,我们将开始转向报表,示范如何显示,汇总

  • gridview+objectdatasource+aspnetpager整合实例

    前台代码: 复制代码 代码如下: <asp:GridView ID="viewIShow" runat="server" DataSourceID="ObjectDataSource1"                    AllowPaging="True" AutoGenerateColumns="False"                    OnRowCommand="view

  • springboot与mybatis整合实例详解(完美融合)

    简介 从 Spring Boot 项目名称中的 Boot 可以看出来,Spring Boot 的作用在于创建和启动新的基于 Spring 框架的项目.它的目的是帮助开发人员很容易的创建出独立运行和产品级别的基于 Spring 框架的应用.Spring Boot 会选择最适合的 Spring 子项目和第三方开源库进行整合.大部分 Spring Boot 应用只需要非常少的配置就可以快速运行起来. Spring Boot 包含的特性如下: 创建可以独立运行的 Spring 应用. 直接嵌入 Tomc

  • Spring与Web整合实例

    一 概述 1.整合目的 将所有对象的创建与管理任务交给Spring容器,降低程序的耦合度. 2.整合途径 将Spring容器注入到Web容器中. 3.具体实现 使用ServletContextListener监听ServletContext,当ServletContexxt创建时同时创建Spring容器,并将创建完成的容器放到ServletContext即application中,在Web中获取Spring容器,就可以访问对象了.ContextLoadListener是ServletContex

  • Android 中ScrollView嵌套GridView,ListView的实例

    Android 中ScrollView嵌套GridView,ListView的实例 在Android开发中,经常有一些UI需要进行固定style的动态布局,然而由于现在的UI都喜欢把一个界面拉的很长,所以我们很多情况下需要使用ScrollView来嵌套列表控件来实现UI.这样就导致了很多不顺心的问题. 问题一:列表控件显示不完全 原因是嵌套情况下,ScrollView不能正确的计算列表控件的高度. 有两种解决方案 方案一 在适配器赋值完成后代码动态计算列表的高度.这里贴出ListView的计算代

  • springboot与redis的简单整合实例

    前言 Redis是一个缓存.消息代理和功能丰富的键值存储.StringBoot提供了基本的自动配置.本文记录一下springboot与redis的简单整合实例 官方文档:https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/ 前期准备 首先我们要有一个Redis服务,由于我没有Linux环境,为了方便搭建项目,直接在Windows下安装,参考这篇博客:Windows下安装Redis服务 安装步骤:一直

  • Spring+SpringMVC+Hibernate整合实例讲解

    使用Maven构建项目,用pom.xml引入相应jar,配置以下文件 创建spring.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns

  • Python对多个sheet表进行整合实例讲解

    1.说明 xlwt模块是非追加写入.xls模块,所以要一次性写入for循环和列表,这样就没有追加和非追加的说法. 并且将Excel表合并,将每一个Excel表作为行,即行合并,换个想法,将Excel表中的标签作为列,可以进行列合并,即将不同文件中相同标签组成的不同标签合并,可以先将不同文件中相同的标签合并,不同文件中相同的标签组成一个列表,然后将前面组成的不同标签合并,就可以得到所有Excel文件的内容. 2.实例 #导入xlrd和xlwt模块 #xlrd模块是读取.xls的Excel文件的模块

  • AspNetPager+GridView实现分页的实例代码

    .框架是.NET Framework 4.0.一共为三个部分: 前台页面设计代码.前台页面程序代码.css样式.其中数据库连接操作用了DB类(连接语句),SQLHelper(微软的数据库操作类)效果图: 前台页面设计代码 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestWebSit

  • asp.net Checbox在GridView中的应用实例分析

    本文实例讲述了asp.net Checbox在GridView中的应用方法.分享给大家供大家参考,具体如下: 先看效果图: 前台代码:样式自己定义哦! <div style="text-align: center; width: 80%"> <yxy:HkrGridView ID="tabGridView1" runat="server" AutoGenerateColumns="False" Width=&

  • SpringMVC mybatis整合实例代码详解

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis . 一.逆向工程生成基础信息 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis G

随机推荐