2017-03-17 42 views
0

我想基於下面的示例在slickgrid中實現分組。Slickgrid組行不可見

https://github.com/mleibman/SlickGrid/blob/gh-pages/examples/example-grouping.html

唯一的區別是,我沒有任何過濾器,所以我不叫dataview.setFilter()

下面是我的分組碼。

@columns = 
     [ 
      {id: "fname", name: "First Name", field: "firstName", formatter: @formatFname, sortable: true, width: @setWidth(30)} 
      {id: "lastName", name: "Last Name", field: "lastName", sortable: true, width: @setWidth(30)} 
      {id: "email", name: "Email ID", field: "email", formatter: @formatEmail, onClick: @launchEmail, sortable: true, width: @setWidth(60)} 
] 

groupItemMetadataProvider = new Slick.Data.GroupItemMetadataProvider 

    dataViewOptions = { 
      groupItemMetadataProvider: groupItemMetadataProvider 
      inlineFilters: true 
    } 

    @dataView = new Slick.Data.DataView(dataViewOptions) 

    dataView.beginUpdate() 
    dataView.setGrouping({ 
      getter: 'lastName' 
      formatter: (g) -> 
      console.log("g is : ",g) 
      'Duration: ' + g.value + ' items' 
      aggregators: [] 
      aggregateCollapsed: false 
      lazyTotalsCalculation: true 
    }); 
    dataView.setItems(data) 
    dataView.endUpdate() 

我甚至能夠看到我的小組以正確的標題設置給每個組。

My groups from debugging

One of my groups object

But I am not getting any slick group row displayed in my grid.

Here is the html after grouping. No slick group rows are seen here

,但我不是在我光滑的網格看到任何組行。

回答

0

您可能使用ES6的特點是我不熟悉,但代碼看起來可疑對我來說,如

dataView.setGrouping({ 
     getter: 'lastName' 
     formatter: (g) -> 
     console.log("g is : ",g) 
     'Duration: ' + g.value + ' items' 
     aggregators: [] 
     aggregateCollapsed: false 
     lazyTotalsCalculation: true 
}); 

有此對象定義的元素之間沒有逗號。
此外,箭頭功能看起來不正確。由於有兩個語句,它應該包含在大括號中並且有一個return關鍵字。

+0

我正在使用咖啡腳本。這就是語法改變的原因。 – Ashok

+0

啊,好的。不熟悉這一點。你有沒有嘗試在setGrouping之前放置'''dataView.setItems(data)'''命令? –