0

我有一个通过 ajax 传输检索数据的剑道数据网格。分页功能完美运行。但是,当单击列标题对数据进行排序时,控件会不断发送空白排序字段参数。

有趣的是,控件仍然发送排序方向,只是不发送字段名称。

我已将 sortable 设置为 true、DataSource、将 serverPaging 设置为 true,并为每一列定义了数据类型。还有什么我想念的吗?

不幸的是,我现在不能发布代码,但是如果我不能通过简单的方法解决这个问题,我可以把一些东西放在一起。

这是发送到 Web 服务的帖子:

endDate: "10/31/2013 12:00 AM"
page: 1
pageSize: 20
skip: 0
sort: [{field:[], dir:asc, compare:null}]
    0: {field:[], dir:asc, compare:null}
       compare: null
       dir: "asc"
       field: []
startDate: "10/1/2013 12:00 AM"
take: 20
4

1 回答 1

0

在这种情况下,问题是由我创建 DataSource.schema.model.fields 对象的方式引起的。最初我传递了一个多维数组,例如:

var fields = [
    fields['Field1'] = [];
    fields['Field1']['type'] = 'string';
    fields['Field1']['editable'] = false;
    fields['Field1']['sortable'] = true;
];

将其更改为键/值对解决了排序问题:

var fields = {
  Field1: {
     type: 'string',
     editable: false,
     sortable: true
  }
};

然后将字段对象传递给 DataSource.schema.model.fields。

于 2013-10-15T20:43:20.037 回答