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中。
· 运行程序
相关推荐
本教程将深入讲解如何实现`DataGrid`的列头排序功能,即点击列表头文字右边的升降箭头进行升序或降序排序。这个功能在数据量较大、需要用户方便地对数据进行查找和分析时非常有用。 首先,`DataGrid`的排序功能主要...
通过设置`sortable`属性、自定义`formatter`函数和处理排序事件,我们可以轻松地为DataGrid的列添加排序图标,并实现客户端和服务器端的排序功能。在实际项目中,记得根据需求调整CSS样式和图片资源,以匹配应用的...
### 为DataGrid添加确认删除的对话框 在Web开发中,经常需要处理用户界面的各种交互操作,其中就包括对数据进行增删改查。在ASP.NET Web Forms中,DataGrid是一个非常常用的控件,用于展示和编辑数据。为了提高用户...
然而,如果你希望添加更复杂的排序逻辑,例如多列排序,你可能需要监听`Sorting`事件并自定义排序逻辑: ```csharp yourDataGrid.Sorting += (sender, e) => { DataGridColumn column = e.Column; ...
本篇文章将深入探讨如何实现`dataGrid`中的中文排序,并结合提供的文件`SortUtil.txt`和`用法.txt`来讲解相关代码和字符集处理。 在Flex中,`dataGrid`的排序通常通过`sortField`和`sortOrder`属性或`sort`方法来...
为了在底部添加合计行,我们可以创建一个新的`DataGridRow`实例,并将其插入到`DataGrid`的最后。同时,我们需要计算各列的合计值。这里我们使用`ICollectionView`,它是数据绑定源的视图,提供了方便的排序和过滤...
在本话题中,我们将详细探讨`datagrid`如何实现多表头、排序以及合计功能,并结合描述中的修改进行深入分析。 **多表头(Multi-Header)**: 多表头是`datagrid`的一个高级特性,它允许用户在数据列上设置多层次的...
这通常需要在datagrid中添加事件监听器,捕捉到这些按键事件,然后通过调用EasyUI提供的API,比如`moveUp`和`moveDown`方法,来改变行的显示位置。同时,需要确保相应的数据源(可能是服务器端的数据)也更新以保持...
在本项目中,我们关注的是如何在WinCE 5.0系统上使用DataGrid控件,并在其上添加额外的控件,如Button和CheckBox,以增强用户界面的功能性。以下是对这个主题的详细讲解: 1. **WinCE 5.0**:Windows CE是一个操作...
标题“给DataGrid自定义Header功能”和描述“给DataGrid添加自定义的headerRenderer,实现在Header上自己添加想要的界面功能”正是关于这个主题的说明。下面将详细介绍如何实现DataGrid的自定义Header。 首先,理解...
1. **禁用默认行为**:如果你不希望DataGrid响应F3键进行排序,可以通过重写或者添加键盘事件处理程序来阻止默认行为。在你的DataGrid上添加一个`KeyDown`事件,检查按下的是F3键,并阻止事件的进一步传播。 2. **...
通过对关键常量和`CHAR_LIB`数组的理解与运用,开发者可以轻松地为自己的项目添加强大的中文排序功能。此外,通过参考提供的链接([http://blog.sina.com.cn/s/blog_5fc933730100iign.html]...
DataGrid控件源自.NET Framework 3.5 SP1,是专为WPF设计的,它提供了丰富的功能,如排序、分组、过滤、自动调整列宽以及对行和列的编辑支持。DataGrid可以与各种数据源绑定,包括集合、数组、ObservableCollection...
它允许用户以网格形式显示数据,支持排序、过滤、编辑和多选等操作。在描述中提到,虽然在XP系统下可能无法展现最佳效果,但在Win7及更高版本的操作系统上,DataGrid能更好地展示其功能和视觉吸引力。为了改变...
本教程将深入探讨如何利用DataGrid实现与SQL数据库的绑定,以及如何实现数据的排序和查找功能,同时结合分页技术提升用户体验。 首先,我们需要创建一个连接到SQL数据库的数据源。这可以通过ADO.NET的SqlConnection...
4. 处理分页和排序:嵌套的DataGrid可能需要独立的分页和排序功能,这需要在事件处理程序中实现。 同样的,DataGrid嵌套DataList或DataList嵌套DataList的逻辑与此类似,只是DataList控件提供了更多的布局灵活性,...
DataGrid作为其中的重要组件,主要用于显示结构化的数据,并支持多种操作,如添加、编辑、删除、排序、分页等。 2. **DataGrid的基本结构** DataGrid的HTML结构通常包括一个table元素,以及对应的id属性,例如`...
1. **添加CheckBox列**:在DataGrid中添加一个`TemplateColumn`类型的列,并在该列的`ItemTemplate`中放置一个`CheckBox`控件,以便于用户勾选。 2. **处理选择状态**:通过监听`DataGrid.ItemCommand`事件,可以...
在ASP.NET开发中,DataGrid控件是一种常用的用于展示数据表格的组件,它允许用户进行交互,如编辑、删除和排序。在这个特定的场景中,我们关注的是如何在DataGrid中添加新行,并处理与之相关的操作和问题。 首先,...
本文将详细介绍如何在ASP.NET的DataGrid控件中实现添加超链接、自定义数据显示以及页脚汇总等功能。 ### 添加超链接 在DataGrid中添加超链接,可以让你的数据行变成可点击的链接,从而提供更直观的导航体验。具体...