Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 JsGrid排序在自定义列上不起作用_Javascript_Sorting_Jsgrid - Fatal编程技术网

Javascript JsGrid排序在自定义列上不起作用

Javascript JsGrid排序在自定义列上不起作用,javascript,sorting,jsgrid,Javascript,Sorting,Jsgrid,排序功能将不再适用于使用itemTemplate和headerTemplate的列 你可以从墙上看到小提琴 如您所见,在列Client ID中,排序工作得非常好。但在“客户机名称”列上,排序不起作用,因为我使用itemTemplate和headerTemplate进行自定义 任何解决方法都值得赞赏 代码如下: $("#jsGrid").jsGrid({ width: "100%", sorting: true, paging: true, data: [{

排序功能将不再适用于使用itemTemplate和headerTemplate的列

你可以从墙上看到小提琴

如您所见,在列Client ID中,排序工作得非常好。但在“客户机名称”列上,排序不起作用,因为我使用itemTemplate和headerTemplate进行自定义

任何解决方法都值得赞赏

代码如下:

$("#jsGrid").jsGrid({
    width: "100%",
    sorting: true,
    paging: true,
    data: [{
            ClientId: 1,
            Client: "Aaaa Joseph"
        },
        {
            ClientId: 2,
            Client: "Zzzz Brad"
        },
        {
            ClientId: 3,
            Client: "Mr Nice Guy"
        }
    ],
    fields: [{
            width: 80,
            name: "ClientId",
            type: "text",
            title: "Client ID"
        },
        {
            width: 80,
            itemTemplate: function(value, item) {
                return "<div>" + item.Client + "</div>";
            },
            headerTemplate: function() {
                return "<th class='jsgrid-header-cell'>Client Name</th>";
            }
        },
    ]
});
In name是与列关联的数据项的属性。在标题上单击此_sortData函数将调用排序数据。配置将在此处使用此名称。因此,您必须提供此配置,否则它将为空,并且在标题单击时没有数据排序

请在jsgrid.js中搜索以下函数

在上面的代码中,sortField.name作为列配置,它必须是必需的

演示

$jsGrid.jsGrid{ 宽度:100%, 排序:对, 是的, 数据:[ {客户ID:1,客户:Aaaa Joseph}, {客户ID:2,客户:Zzzz Brad}, {客户ID:3,客户:好人先生} ], 字段:[ { 宽度:80, 姓名:ClientId,, 类型:文本, 标题:客户ID }, { 宽度:80, 名称:'Client', itemTemplate:函数值,项{ return+item.Client+; }, headerTemplate:函数{ 返回客户端名称; } }, ] };
_sortData: function() {
    var sortFactor = this._sortFactor(),
        sortField = this._sortField;

    if (sortField) {
        this.data.sort(function(item1, item2) {
            return sortFactor * sortField.sortingFunc(item1[sortField.name], item2[sortField.name]);
        });
    }
},