我使用 Trirand JQGrid 4.6 生成组标题行 JQGrid。
我从demo website提取代码:
如您所见,日期列在页面加载时按升序排序。所以每组的所有孩子都按照日期的升序排序。但是,如何强制此列在页面加载时按降序排序,以便子项将按日期的描述顺序排序?
jQuery("#list483").jqGrid({
data: mydata,
datatype: "local",
height: 'auto',
rowNum: 30,
rowList: [10,20,30],
colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
colModel:[
{name:'id',index:'id', width:60, sorttype:"int"},
{name:'invdate',index:'invdate', width:90, sorttype:"date", formatter:"date"},
{name:'name',index:'name', width:100, editable:true},
{name:'amount',index:'amount', width:80, align:"right",sorttype:"float", formatter:"number", editable:true},
{name:'tax',index:'tax', width:80, align:"right",sorttype:"float", editable:true},
{name:'total',index:'total', width:80,align:"right",sorttype:"float"},
{name:'note',index:'note', width:150, sortable:false}
],
pager: "#plist483",
viewrecords: true,
sortname: 'name',
grouping:true,
groupingView : {
groupField : ['name'],
groupColumnShow : [false],
groupText : ['<b>{0} - {1} Item(s)</b>']
},
caption: "Configure group header row"
});
EXTENDED POST:
我在帖子中扩展了对话。假设这种情况。数据来自数据库存储过程,stored procedure
以特定的行顺序传递数据(见图),我想要使用与网格中的顺序完全相同的顺序。
如附件所示,假设我已将您在demosite中使用的数据集简化为附加图像,我只使用三列Name, Date, Amount
。正如您在图像上看到的那样,有四个记录,有两组Names
和Dates
。假设我需要使用网格图像上显示的记录的确切顺序。另一个词也使用网格中存储过程中的行顺序。我必须关闭网格的默认排序等。我如何实现这一目标?
所以最终结果应该是这样的:
Test1
12/12/2012 12000
10/4/2012 2000
Test2
1/1/2013 300000
7/24/2016 46000
答案 0 :(得分:1)
我认为您的代码与图片不符。您可能使用sortname: "invdate"
。
要按invdate
更改排序顺序,您需要添加选项sortorder: "desc"
。
如果您需要更改分组数据的顺序(name
,因为您使用groupField : ["name"]
),则可以将groupOrder
属性添加到groupingView
。例如
groupingView: {
groupField: ["name"],
groupOrder: ["desc"], // "asc" is by default
groupColumnShow: [false],
groupText: ["<b>{0} - {1} Item(s)</b>"]
}