gpt4 book ai didi

coldfusion - 将剑道网格与 Coldfusion 集成

转载 作者:行者123 更新时间:2023-12-04 01:13:29 25 4
gpt4 key购买 nike

我们正在寻求从我们当前的网格 (JQWidgets) 切换到 KendoUI 网格,并且我正在进行概念验证。我们最大的要求是服务器端分页/排序/过滤,这就是我遇到问题的地方。

我们现有的网格是基于 XML 的,因此我创建了一个执行相同操作的 Kendo 网格:

$(document).ready(function(){
var xmlDataRemote = new kendo.data.DataSource({
transport: {
read: { url: "/KendoDashboard/KendoController.cfc?method=getGrid" }
},
pageSize: 20,
serverPaging: true,
serverSorting: true,
serverFiltering: true,
schema: {
type: "xml",
data: "/Items/Item",
total: "/Items/Item/TotalRows",
model: {
id: "ID",
fields: {
Name: { field: "Name/text()", type: "string" },
Status: { field: "Status/text()", type: "string" },
Type: { field: "Type/text()", type: "string" }
}
}
}
});

var grid = $("#grid").kendoGrid({
dataSource: xmlDataRemote,
pageable: true,
sortable: true,
filterable: true,
columns: [
{ title: "Name", field: "Name" },
{ title: "Status", field: "Status" },
{ title: "Type", field: "Type" }
]
});
});

示例 XML:

<Items>           
<Item>
<ID>1</ID>
<Name>First Item Name</Name>
<Status>Active</Status>
<Type>Online</Type>
</Item>
<Item>
<ID>2</ID>
<Name>Second Item Name</Name>
<Status>Inactive</Status>
<Type>External</Type>
</Item>
<TotalRows>22</TotalRows>
</Items>

我的分页问题:在数据源上设置的总数似乎不起作用。网格页脚具有“没有要显示的项目”而不是“22 项中的 1-20 项”并且没有分页选项。我也不确定从网格(见下文)传递的“take”和“skip”参数是做什么用的。

我的排序/过滤问题:传递的排序和过滤参数是一些格式奇怪的字符串:

/KendoDashboard/KendoController.cfc?method=getCoursesGrid&take=20&skip=0&page=1&pageSize=20&sort%5B0%5D%5Bfield%5D=Name&sort%5B0%5D%5Bdir%5D=desc&filter%5Blogic%5D=and&filter%5Bfilters%5D%5B0%5D%5Bfield%5D=Name&filter%5Bfilters%5D%5B0%5D%5Boperator%5D=eq&filter%5Bfilters%5D%5B0%5D%5Bvalue%5D=test

如果我在 Firebug 中查看它,参数列为:

filter[filters][0][field]   Name
filter[filters][0][operator] eq
filter[filters][0][value] test
filter[logic] and
method getCoursesGrid
page 1
pageSize 20
skip 0
sort[0][dir] desc
sort[0][field] Name
take 20

设置一个名称为“filter”和字符串类型的 cfargument,然后将其转储出来只会返回零 (0)。当然,Coldfusion 不会采用“filter[filters]”作为参数名称,所以我对如何继续操作有点不知所措。

最佳答案

您可以将总计设置为

total: function(response) {
return response.Items.TotalRows;
}

如果出现问题,请查看 response 变量

关于coldfusion - 将剑道网格与 Coldfusion 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27570784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com