文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发C/C++C# GridView 排序及分页
精品推荐
特别推荐
·C语言编程易犯毛病集合
·C语言编程常见问题解答(目录)
·C#程序开发中的常用函数汇总
·C#数据库操作的三种经典用法
·C/C++笔试、面试题目大汇总
·Beej的网络socket编程指南
·socket编程原理
·C语言的常用库函数使用方法分析及用途
·在C语言中如何处理时间和日期
·C++设计模式之Singleton
·VC++动态链接库编程之MFC扩展 DLL
·TCP/IP网络重复型服务器通信软件的设计
·DirectX游戏开发入门
·经典与现代的结合:在MFC中集成RAD .NET框架
·Windows API-GDI入门基础知识详解(2)
·Visual C++ 入门精解
·C#基础概念二十五问
·用C#实现pdf文件的完整性验证
·成为嵌入式程序员应知道的0x10个问题
·TCP/IP编程实现远程文件传输
热点TOP10
·C#编写的windows计算器-源代码
·Beej的网络socket编程指南
·C#基础概念二十五问
·socket编程原理
·TCP/IP编程实现远程文件传输
·C/C++笔试、面试题目大汇总
·如何用C#编写文本编辑器
·C语言图形函数
·C# GridView 排序及分页
·C#源码读取excel数据到程序中-SQL SERVER-到dataset中
·Windows下C语言网络编程快速入门
·c#的random shuffle
·C语言编程常见问题解答(目录)
·扑克牌的发牌程序(用伪随机数实现)
·改编 的 C版 职工管理系统
·C语言的常用库函数使用方法分析及用途
·学生成绩管理系统实习
·C语言程序设计基础讲座之函数
·飞机订票系统设计
·Visual C++ 实现数字化图像的分割

C# GridView 排序及分页

日期:2006年12月18日 作者: 查看:[大字体 中字体 小字体]


如果你在GridView控件上设置 AllowPaging="true" or AllowSorting="true" 而没有使用使用数据源控件 DataSource (i.e. SqlDataSource, ObjectDataSource),运行则会出现下列错误:

当你在GridView控件上单击下一页时:

The GridView 'GridViewID' fired event PageIndexChanging which wasn't handled.

当你点击排序时,则回出现:

The GridView 'GridViewID' fired event Sorting which wasn't handled.

如果你没有设置GridView的DataSourceID 的属性,你必须添加一个操作才可以排序及分页。。


  点这里查看下面的例子

 

<%@ Page Language="C#" %>

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.OleDb" %>

 

<script runat="server">   

    private void PopulatePublishersGridView()

    {

        string connectionString = AccessConnectionString();

        OleDbConnection accessConnection = new OleDbConnection(connectionString);

 

        string sqlQuery = "SELECT [PubID], [Name], [Company Name], [Address], [City], [State], [Zip], [Telephone], [Fax], [Comments] FROM Publishers ORDER BY [Name] ASC;";

 

        OleDbCommand accessCommand = new OleDbCommand(sqlQuery, accessConnection);

 

        OleDbDataAdapter publishersDataAdapter = new OleDbDataAdapter(accessCommand);

        DataTable publishersDataTable = new DataTable("Publishers");

        publishersDataAdapter.Fill(publishersDataTable);

 

        int dataTableRowCount = publishersDataTable.Rows.Count;

 

        if (dataTableRowCount > 0)

        {

            gridViewPublishers.DataSource = publishersDataTable;

            gridViewPublishers.DataBind();

        }

    }

 

    private string AccessConnectionString()

    {

        string accessDatabasePath = Server.MapPath("~/App_Data/biblio.mdb");

        return String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", accessDatabasePath);

    }

 

    private string GridViewSortDirection

    {

        get { return ViewState["SortDirection"] as string ?? "ASC"; }

        set { ViewState["SortDirection"] = value; }

    }

 

    private string GridViewSortEXPression

    {

        get { return ViewState["SortExpression"] as string ?? string.Empty; }

        set { ViewState["SortExpression"] = value; }

    }

 

    private string GetSortDirection()

    {

        switch (GridViewSortDirection)

        {

            case "ASC":

                GridViewSortDirection = "DESC";

                break;

 

            case "DESC":

                GridViewSortDirection = "ASC";

                break;

        }

 

        return GridViewSortDirection;

    }

 

    protected void gridViewPublishers_PageIndexChanging(object sender, GridViewPageEventArgs e)

    {

        gridViewPublishers.DataSource = SortDataTable(gridViewPublishers.DataSource as DataTable, true);

        gridViewPublishers.PageIndex = e.NewPageIndex;

        gridViewPublishers.DataBind();

    }

 

    protected DataView SortDataTable(DataTable dataTable, bool isPageIndexChanging)

    {

        if (dataTable != null)

        {

            DataView dataView = new DataView(dataTable);

            if (GridViewSortExpression != string.Empty)

            {

                if (isPageIndexChanging)

                {

                    dataView.Sort = string.Format("{0} {1}", GridViewSortExpression, GridViewSortDirection);

                }

                else

                {

                    dataView.Sort = string.Format("{0} {1}", GridViewSortExpression, GetSortDirection());

                }

            }

            return dataView;

        }

        else

        {

            return new DataView();

        }

    }

 

    protected void gridViewPublishers_Sorting(object sender, GridViewSortEventArgs e)

    {

        GridViewSortExpression = e.SortExpression;

        int pageIndex = gridViewPublishers.PageIndex;

        gridViewPublishers.DataSource = SortDataTable(gridViewPublishers.DataSource as DataTable, false);

        gridViewPublishers.DataBind();

        gridViewPublishers.PageIndex = pageIndex;

    }

 

    protected void Page_Load(object sender, EventArgs e)

    {

        PopulatePublishersGridView();

    }

 

</script>



[1] [2] [3] 下一页 




上一篇:JavaScript写作技巧,函数A中调用函数B, 怎样在函数B中写代码中断函数A的运行?

下一篇:比较:HyperLink控件、LinkButton控件 之间的异同

C# GridView 排序及分页 相关文章:
·qq空间皮肤背景代码:QQ空间不用Q币更换主页皮肤方法
·同一篇Word文档设置多个不同的页眉页脚
·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
·上网冲浪选谁更好 七款主流网页浏览器评测
·使浏览网页速度马上就变快的方法
·C# GridView 排序及分页
·DIV CSS网页布局实例:十步学会用CSS建站
·网页小技巧:如何去除超链接的下划线
·asp.net(C#)海量数据表高效率分页算法(易懂,不使用存储过程)
·为什么iexplore.exe在打开网页时CPU使用会100%?
C# GridView 排序及分页 相关软件:
·Dreamweaver 网页设计
·伊索寓言(彩图翻页版)
·photoshop cs 超梦幻网页创意宝典
·古典网页模板
·东方网页王III 正式版
·系列语言网页设计
·主页登陆注册系统
·日本几例网页模板
·现代风格的网页模板
·推荐-改变网页背景图片

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn