GridView列的排序功能

首先要给GridView设置三个属性

            GridView4.AllowSorting = true;            GridView4.Attributes.Add("SortExpression", "ENDDATE");
                    GridView4.Attributes.Add("SortDirection", "ASC");

然后写Sorting事件

    /// <summary>
    /// GridView4的排序
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void GridView4_Sorting(object sender, GridViewSortEventArgs e)
    {
        // 从事件参数获取排序数据列
        string sortExpression = e.SortExpression.ToString();

        // 假定为排序方向为“顺序”
        string sortDirection = "ASC";

        // “ASC”与事件参数获取到的排序方向进行比较,进行GridView排序方向参数的修改
        if (sortExpression == this.GridView4.Attributes["SortExpression"])
        {
            //获得下一次的排序状态
            sortDirection = (this.GridView4.Attributes["SortDirection"].ToString() == sortDirection ? "DESC" : "ASC");
        }

        // 重新设定GridView排序数据列及排序方向
        this.GridView4.Attributes["SortExpression"] = sortExpression;
        this.GridView4.Attributes["SortDirection"] = sortDirection;

     //获取展示数据        DataTable table = SocketInfo.GetStatusInfo(sortExpression, sortDirection);
        GridView4.DataSource = table;
        GridView4.DataBind();
        GridView4.Visible = true;

    }
时间: 2024-10-13 02:45:26

GridView列的排序功能的相关文章

Yii2的GridView实现拖动排序功能

本功能同样适用于其他的框架或者原生的程序(需要根据实际情况做修改) 1.本功能参考地址:https://www.cnblogs.com/xiuber/p/5945597.html 2.本功能必须先引入jquery和jquery-ui(注意引入先后顺序) 前端代码: <?= GridView::widget([ 'dataProvider' => $dataProvider, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], '

[转载]EasyUI中数据表格DataGrid添加排序功能

我们这里演示的是EasyUI数据表格DataGrid从服务器端排序功能,因为觉的本地数据排序没有多大的作用,一般我们DataGrid不会读取全部数据,只会读取当前页的数据,所以本地数据排序也只是对当前页的数据进行排序,不是我们想要用效果. 下面开始演示从服务器端排序功能. 第一步,启用EasyUI DataGrid的排序功能: 具体就是为列设置sortable属性,如下: { field: "SOID", title: "订单单号", width: "80

jqgrid 中设置列不排序

背景 今天在做系统的功能时,当时有这么个需求:在添加了一行数据时,原本的排序的自动就不能再排序,也就是排序失效. 1. 使用onSortCol事件禁止排序列 当时使用了初始化时,使用onSortCol事件在初始化的时候,如果发现了添加行的标记为true的情况,就返回“stop”(返回stop之后列排序就失效了). 然后出现了一个问题,排序功能确实是被禁止掉了,但是排序的上下箭头还是依然顽强的工作,此种方法带了操作上的困扰. 2. 单独禁止掉指定的方法 在网上搜索了一阵之后,jqgrid确实提供了

pb数据窗口下拉数据窗口列的排序(翻译)

datawindow是一个功能强大而且扩展性很强的工具,一个非常好的功能能够让用户点击列头对datawindow中的列进行排序. 排序功能还允许你指定列对数据窗口进行排序,这个功能对大多数的列都能够使用,但是他却不能对有下拉数据窗口列进行排序.原因就是 这个排序的功能是通过列的值进行排序的而不是显示值. 解决这个问题的的办法是可以使用LookUpDisplay这个函数,这个功能能够返回列的显示的值,通过对lookupdisplay(列名)这个函数排序, 数据窗口就能对这个显示值进行排序了. dw

DevExpress gridView列标题右键菜单管理

1.添加PopupMenuShowing事件 2.PopupMenuShowing事件中的代码如下: private void gridView1_PopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e) { if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column)//判断是否是列标题的右键

datagridview 点击列标题排序

开发winform中,平时经常用到数据列表,我们大多选用datagridview,但是此控件本身没有排序的功能.参阅网上资料.留下标记,以后备用. datagridview的数据显示一般是通过数据绑定来实现, 即:this.datagridview.DataSource=this.bindingSrc; this.bindingSrc.DataSource=this.Model; 这种形式就完成了,数据的显示过程.但是要实现点击datagridview实现排序的功能,需要实现对数据源排序的功能.

MYSQL-实现ORACLE 和SQLserver数据中- row_number() over(partition by ) 分组排序功能

网上看见了好多例子都基本上是一样的,没有过多的解释,对于一个初学MySQL来说有点难,我把部分转摘过来如下 原文:http://www.cnblogs.com/buro79xxd/archive/2012/08/29/2662489.html 要求目标:1.确定需求: 根据部门来分组,显示各员工在部门里按薪水排名名次. 创建表格:2.来创建实例数据: drop table if exists heyf_t10; create table heyf_t10 (empid int ,deptid i

[Devexpress]GridControl 绑定DataSource时GridView列不变化

Devexpress  GridControl 绑定DataSource时GridView列不变化 1.使用VS自带的DataGridView替代 2.数据绑定以后调用 gridView.PopulateColumns()  函数 重新创建列 gcSummary.DataSource = _dtData; gvSummary.PopulateColumns();

MapReduce实现排序功能

期间遇到了无法转value的值为int型,我采用try catch解决 str2 2 str1 1 str3 3 str1 4 str4 7 str2 5 str3 9 用的\t隔开,得到结果 str1 1,4 str2 2,5 str3 3,9 str4 7 我这里map,reduce都是单独出来的类,用了自定义的key package com.kane.mr; import java.io.DataInput; import java.io.DataOutput; import java.i