Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Slick.Grid中是否有方法将所有数据呈现到一个数组中以便导出?_Javascript_Jquery_Slickgrid - Fatal编程技术网

Javascript 在Slick.Grid中是否有方法将所有数据呈现到一个数组中以便导出?

Javascript 在Slick.Grid中是否有方法将所有数据呈现到一个数组中以便导出?,javascript,jquery,slickgrid,Javascript,Jquery,Slickgrid,在Slick.Grid中是否有方法将所有数据呈现到一个数组中以便导出 我能够从Slick.Grid实例“mygrid.getData().getItems()”中获取数据,但它只是原始数据,而不是格式化数据 是否有一个函数可以用来迭代集合并返回格式化的数据 到目前为止,我必须实现我的格式化程序两次 例如: UnixToDate: (row, cell, value, columnDef, dataContext) -> moment.unix(value).format("MMM Do

在Slick.Grid中是否有方法将所有数据呈现到一个数组中以便导出

我能够从Slick.Grid实例“mygrid.getData().getItems()”中获取数据,但它只是原始数据,而不是格式化数据

是否有一个函数可以用来迭代集合并返回格式化的数据

到目前为止,我必须实现我的格式化程序两次

例如:

UnixToDate: (row, cell, value, columnDef, dataContext) ->
  moment.unix(value).format("MMM Do YY")


items: [
   {id: 1, activity_at: 915148798 },
   {id: 2, activity_at: 999148800 }
]

columns: [
    {field: 'id', id: 'id', name: 'Id'},
    {field: 'activity_at', id: 'activity_at', name: 'Activity', formatter: UnixToDate}
]

@data = new Slick.Data.DataView()
@grid = new Slick.Grid( $('#table'), @data, columns )
@data.setItems(items)
我想知道是否有方法返回带有格式化值的数据。 我以为@grid.getData().getItems()会这样做,但它会返回原始数据数组

返回的数据应如下所示:

data: [
   {id: 1, activity_at: "Dec 31st 98" },
   {id: 2, activity_at: "Aug 29th 01" }
]

我希望最终用户能够过滤和排列网格,然后以csv格式导出结果,除了格式化部分之外,我已经完成了所有这些工作。

当您设置
autoHeight:true
时,将呈现完整的网格,并且可以导出html

对最新问题的答复:


仅当行呈现/可见时才调用格式化程序,所以包含格式化数据的数组永远不存在。在源代码处:

好的,我编写了一个方法来进行导出(用coffeescript编写并使用下划线.js)。我还必须在slick.grid.js中公开getFormatter方法

getFormattedData: (grid) ->
  columns = grid.getColumns()
  rows = grid.getData().getItems()
  _(rows).map (row) ->
    h = {}
    i = 0
    _(columns).each (column) ->
      f = grid.getFormatter(row, column)
      h[column.id] = f(row, i, row[column.id], column, row)
      i += 1
    h
在//Public API部分向slick.grid.js添加行

"getFormatter": getFormatter,

呈现所有数据,然后解析html可能会起作用,但根本没有效率。我正在浏览slick.grid.js文件,其中必须有一种方法来调用数据数组上的format函数。我不明白,你写的是你想要格式化的数据,如果不是html,那么这意味着什么?我说的是用于填充网格的javascript数组。我在我的问题上加了一个例子。。