`

DataGrid 添加排序

 
阅读更多

http://www.glphp.com/index.php?m=content&c=index&a=show&catid=36&id=330

 

 

DataGrid 添加排序
DataGrid中全部的列可以通过点击列头被排序。你可以定义可以被排序的列。默认的,列不能被排序除非你设置sortable属性为TRUE,下面是例子:

$('#tt').datagrid({

    title:'Sortable Column',

    width:550,

    height:250,

    url:'/demo4/data/getItems',

    columns:[[

        {field:'itemid',title:'Item ID',width:80,sortable:true},

        {field:'productid',title:'Product ID',width:80,sortable:true},

        {field:'listprice',title:'List Price',width:80,align:'right',sortable:true},

        {field:'unitcost',title:'Unit Cost',width:80,align:'right',sortable:true},

        {field:'attr1',title:'Attribute',width:100},

        {field:'status',title:'Status',width:60}

    ]],

    pagination:true,

    sortName:'itemid',

    sortOrder:'asc'

});

 

我们定义一些可排序的列,包括itemid,productid,listprice,unitcost等。attr1列和status列不能被排序。我们设置默认排序列:itemid,按asc(升序)排序。
当排序时, DataGrid发送两个参数到服务器:
· sort: 排序列字段名
· order: 排序次序: 'asc' 或 'desc', 默认为'asc'.
我们使用etmvc framework 写后台服务器代码,首先定义数据模型

@Table(name="item")

public class Item extends ActiveRecordBase{

    @Id public String itemid;

    @Column public String productid;

    @Column public java.math.BigDecimal listprice;

    @Column public java.math.BigDecimal unitcost;

    @Column public String attr1;

    @Column public String status;

}

 写控制代码:

 

public class DataController extends ApplicationController{

    /**

     * get item data

     * @param page page number

     * @param rows page size

     * @param sort sort column field name

     * @param order sort order, can be 'asc' or 'desc'

     * @return JSON format string

     * @throws Exception

     */

    public View getItems(int page, int rows, String sort, String order) throws Exception{

        long total = Item.count(Item.class, null, null);

        List<Item> items = Item.findAll(Item.class, null, null, sort+" "+order, rows, (page-1)*rows);

        Map<String, Object> result = new HashMap<String, Object>();

        result.put("total", total);

        result.put("rows", items);

        return new JsonView(result);

    }

}

 

我们使用MySQL数据库存储演示数据,下面是配置实例:

 

domain_base_class=com.et.ar.ActiveRecordBase

 

com.et.ar.ActiveRecordBase.adapter_class=com.et.ar.adapters.MySqlAdapter

com.et.ar.ActiveRecordBase.driver_class=com.mysql.jdbc.Driver

com.et.ar.ActiveRecordBase.url=jdbc:mysql://localhost/jpetstore

com.et.ar.ActiveRecordBase.username=root

com.et.ar.ActiveRecordBase.password=soft123456

com.et.ar.ActiveRecordBase.pool_size=0

 部署
· 建立MySQL数据库
· 从'/db/item.sql'导入测试表数据,表名是'item'.
· 按需要改变数据库配置,配置文件在/WEB-INF/classes/activerecord.properties中。
· 运行程序

 

 

 

 

 

 

 

 

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    wpf datagrid排序列表头文字右边的升降箭头

    本教程将深入讲解如何实现`DataGrid`的列头排序功能,即点击列表头文字右边的升降箭头进行升序或降序排序。这个功能在数据量较大、需要用户方便地对数据进行查找和分析时非常有用。 首先,`DataGrid`的排序功能主要...

    easyui datagrid排序图标

    通过设置`sortable`属性、自定义`formatter`函数和处理排序事件,我们可以轻松地为DataGrid的列添加排序图标,并实现客户端和服务器端的排序功能。在实际项目中,记得根据需求调整CSS样式和图片资源,以匹配应用的...

    为DataGrid添加确认删除的对话框

    ### 为DataGrid添加确认删除的对话框 在Web开发中,经常需要处理用户界面的各种交互操作,其中就包括对数据进行增删改查。在ASP.NET Web Forms中,DataGrid是一个非常常用的控件,用于展示和编辑数据。为了提高用户...

    利用DataGrid显示某目录下的所有文件 | 对DataGrid进行排序

    然而,如果你希望添加更复杂的排序逻辑,例如多列排序,你可能需要监听`Sorting`事件并自定义排序逻辑: ```csharp yourDataGrid.Sorting += (sender, e) =&gt; { DataGridColumn column = e.Column; ...

    dataGrid中文排序

    本篇文章将深入探讨如何实现`dataGrid`中的中文排序,并结合提供的文件`SortUtil.txt`和`用法.txt`来讲解相关代码和字符集处理。 在Flex中,`dataGrid`的排序通常通过`sortField`和`sortOrder`属性或`sort`方法来...

    WPF DataGrid 添加合计行并始终显示在底部代码

    为了在底部添加合计行,我们可以创建一个新的`DataGridRow`实例,并将其插入到`DataGrid`的最后。同时,我们需要计算各列的合计值。这里我们使用`ICollectionView`,它是数据绑定源的视图,提供了方便的排序和过滤...

    datagrid 多表头 排序 合计

    在本话题中,我们将详细探讨`datagrid`如何实现多表头、排序以及合计功能,并结合描述中的修改进行深入分析。 **多表头(Multi-Header)**: 多表头是`datagrid`的一个高级特性,它允许用户在数据列上设置多层次的...

    easyUI datagrid 实现行上移,下移,置顶,置底,排序提交后台绑定键盘事件

    这通常需要在datagrid中添加事件监听器,捕捉到这些按键事件,然后通过调用EasyUI提供的API,比如`moveUp`和`moveDown`方法,来改变行的显示位置。同时,需要确保相应的数据源(可能是服务器端的数据)也更新以保持...

    wince下 datagrid 添加控件,并隐藏了

    在本项目中,我们关注的是如何在WinCE 5.0系统上使用DataGrid控件,并在其上添加额外的控件,如Button和CheckBox,以增强用户界面的功能性。以下是对这个主题的详细讲解: 1. **WinCE 5.0**:Windows CE是一个操作...

    给DataGrid自定义Header功能

    标题“给DataGrid自定义Header功能”和描述“给DataGrid添加自定义的headerRenderer,实现在Header上自己添加想要的界面功能”正是关于这个主题的说明。下面将详细介绍如何实现DataGrid的自定义Header。 首先,理解...

    dotnet 7 WPF 破坏性改动 按下 F3 让 DataGrid 自动排序.rar

    1. **禁用默认行为**:如果你不希望DataGrid响应F3键进行排序,可以通过重写或者添加键盘事件处理程序来阻止默认行为。在你的DataGrid上添加一个`KeyDown`事件,检查按下的是F3键,并阻止事件的进一步传播。 2. **...

    flex DataGrid中文字符排序类

    通过对关键常量和`CHAR_LIB`数组的理解与运用,开发者可以轻松地为自己的项目添加强大的中文排序功能。此外,通过参考提供的链接([http://blog.sina.com.cn/s/blog_5fc933730100iign.html]...

    WPF动态添加行列DATAGRID.zip

    DataGrid控件源自.NET Framework 3.5 SP1,是专为WPF设计的,它提供了丰富的功能,如排序、分组、过滤、自动调整列宽以及对行和列的编辑支持。DataGrid可以与各种数据源绑定,包括集合、数组、ObservableCollection...

    WPF中的DataGrid、Button、ComboBox等样式+DataGrid分页控件

    它允许用户以网格形式显示数据,支持排序、过滤、编辑和多选等操作。在描述中提到,虽然在XP系统下可能无法展现最佳效果,但在Win7及更高版本的操作系统上,DataGrid能更好地展示其功能和视觉吸引力。为了改变...

    DataGrid 查找排序

    本教程将深入探讨如何利用DataGrid实现与SQL数据库的绑定,以及如何实现数据的排序和查找功能,同时结合分页技术提升用户体验。 首先,我们需要创建一个连接到SQL数据库的数据源。这可以通过ADO.NET的SqlConnection...

    DataGrid中嵌套DataGrid

    4. 处理分页和排序:嵌套的DataGrid可能需要独立的分页和排序功能,这需要在事件处理程序中实现。 同样的,DataGrid嵌套DataList或DataList嵌套DataList的逻辑与此类似,只是DataList控件提供了更多的布局灵活性,...

    jeasyui-datagrid-datagrid

    DataGrid作为其中的重要组件,主要用于显示结构化的数据,并支持多种操作,如添加、编辑、删除、排序、分页等。 2. **DataGrid的基本结构** DataGrid的HTML结构通常包括一个table元素,以及对应的id属性,例如`...

    datagrid排序_选择_分页

    1. **添加CheckBox列**:在DataGrid中添加一个`TemplateColumn`类型的列,并在该列的`ItemTemplate`中放置一个`CheckBox`控件,以便于用户勾选。 2. **处理选择状态**:通过监听`DataGrid.ItemCommand`事件,可以...

    在DataGrid中添加新行

    在ASP.NET开发中,DataGrid控件是一种常用的用于展示数据表格的组件,它允许用户进行交互,如编辑、删除和排序。在这个特定的场景中,我们关注的是如何在DataGrid中添加新行,并处理与之相关的操作和问题。 首先,...

    ASP.NET中DataGrid添加超链接、自定义显示示、页脚汇

    本文将详细介绍如何在ASP.NET的DataGrid控件中实现添加超链接、自定义数据显示以及页脚汇总等功能。 ### 添加超链接 在DataGrid中添加超链接,可以让你的数据行变成可点击的链接,从而提供更直观的导航体验。具体...

Global site tag (gtag.js) - Google Analytics