所以我知道一定有比我目前做的更好的方法来做到这一点。我有一个剑道类型的页面,用户可以在其中进行排序和过滤等。通过深入研究 dataSource 对象,我找到了足够的信息来提取排序和过滤器并将它们应用于我创建的新数据源,这样我就可以将其发送到服务器以制作一个 Excel 文件。现在我只需要获取已应用的格式。这是我到目前为止所拥有的。
dataSource = $("#grid").data("kendoGrid").dataSource;
filters = dataSource.filter();
sorts = dataSource.sort();
options = dataSource.options;//not sure if this is what I need
allData = dataSource.data();
query = new kendo.data.Query(allData);
kendoDataSource = query;
if(filters && sorts) {
kendoDataSource = kendoDataSource.filter(filters).sort(sorts).data;
}else if(filters) {
kendoDataSource = kendoDataSource.filter(filters).data;
}else if(sorts) {
kendoDataSource = kendoDataSource.sort(sorts).data;
}else{
kendoDataSource = kendoDataSource.data;
}
这允许我遍历 kendoDataSource 数组并将数组的每个值字符串化(这是一个 json 对象),从而准确地为我提供用户在过滤器和排序方面看到的内容。但是,日期字段在原始数据源中应用了一些格式,并且不确定如何以编程方式在 javascript/jQuery 中应用所有这些格式选项。