2013-04-30 32 views
4

从dojo存储中加载dgrid时,是否有指定默认排序列的方法?默认情况下对列进行排序(on load)使用Dojo Dgrid

说我有2列,名称和电子邮件,我想名称列默认排序时,第一次加载网格。我想要的是相当于用户点击'名称'标题(完成排序箭头指示排序方向)。

感谢, 约翰

+0

看来iv'e找到了我自己问题的答案:'mytable.set('sort','name');' – JohnB 2013-05-08 05:13:17

回答

9

你可以做这样的事情:

var mygrid = new OnDemandGrid({ 
    store : someStore, 
    queryOptions: { 
     sort: [{ attribute: "name" }] 
    } 
    // rest of your grid properties 
}, "someNode"); 
+0

当然属性会接受列名和方向。例如:[{attribute:'id DESC'}] – Tarek 2014-01-10 00:24:08

+1

对于dGrid,这将是[{attribute:“id”,descending:true}]。如果您省略降序:true,则认为排序是升序。请参阅http://dojofoundation.org/packages/dgrid/tutorials/grids_and_stores/ – Philippe 2014-01-10 19:41:02

+1

这是唯一的缺点是不显示箭头(向上或向下 - 取决于您的降序值)。只有当用户实际点击表格标题时才会显示。 – maxxyme 2014-06-04 17:32:40

-1

dgrid 1.1.0 - 设置初始/默认的排序顺序

var TrackableRest = declare([Rest, SimpleQuery, Trackable]); 
    var store = new TrackableRest({target: apiUrl, useRangeHeaders: true, idProperty: 'id'}); 
    var grid = new (declare([OnDemandGrid, Selection, Editor]))({ 
     collection: store, 
     sort: [{"property":"name", "descending": false}], 
     className: "dgrid-autoheight", 
     columns: { 
      id: { 
       label: core.id 
      }, 
      category_text: { 
       label: asset.category 
      }, 
      name: { 
       label: asset.model, 
      }, 
+0

sort属性的正确值是一个对象数组:[{property:''name',descending:true}] – keemor 2017-02-02 11:13:25