寻找使用 KendoUI 的示例,例如 JQueryUI 可排序方法。似乎找不到这样的东西。如果你不能在 KendoUI 中做到这一点,那真是太可惜了。
问问题
2297 次
5 回答
4
如果您想拥有与其他 KendoUI 小部件相同的外观和感觉,您可以尝试使用 TreeView 实现它:
如果这是可排序的元素:
var dataSource = [
{ id:1, text:"Element 1" },
{ id:2, text:"Element 2" },
{ id:3, text:"Element 3" },
{ id:4, text:"Element 4" },
{ id:5, text:"Element 5" },
{ id:6, text:"Element 6" }
];
那么您可以使用以下代码:
$("#sortable").kendoTreeView({
dataSource :dataSource,
template :"<div class='ob-item'> #= item.text # </div>",
dragAndDrop:true,
drag :function (e) {
var dst = $($(e.dropTarget).closest(".k-item")[0]).data("uid");
var src = $(e.sourceNode).data("uid");
if ($(e.dropTarget).hasClass("ob-item") && dst != src) {
e.setStatusClass("k-insert-top");
} else {
e.setStatusClass("k-denied");
}
},
drop :function (e) {
if ($(e.sourceNode).data("uid") !== $(e.destinationNode).data("uid")) {
$(e.sourceNode).insertBefore(e.destinationNode);
}
e.setValid(false);
}
});
呈现一个可排序的列表。
笔记:
ob-item
是您想要的每个可排序项目的样式。例如:
.ob-item {
background-color: #e9e9e9;
border: 1px solid #a99f9a;
color: #2e2e2e;
padding: 5px;
border-radius: 4px;
}
如果您允许嵌套,那么您应该替换insertBefore
为append
.
于 2012-11-06T15:34:18.907 回答
3
是的,你可以在 KendoUi 中做到这一点。我同意,他们的文档可能会更清晰一些,但请在树视图拖放下查看:
于 2012-10-05T11:03:54.467 回答
2
对于那些发现这个问题的人。现在 Kendo UI 有 Sortable 元素:http ://demos.telerik.com/kendo-ui/web/sortable/index.html
于 2014-04-16T12:10:38.570 回答
1
您可以使用自定义构建器构建自定义 jQuery UI js 文件:http: //jqueryui.com/download
只需获取包含您需要的 ui 核心和可排序功能的参考,文件大小将最小,您将获得所需的功能。
由于 Kendo UI 与 jQuery 一起工作,因此 jQuery UI 增加的重量是最小的。
于 2012-08-28T02:28:55.047 回答
1
像这样试试
var template = kendo.template("<ul id='sortable-basic'><li class='sortable'>Papercut <span>3:04</span></li><li class='sortable'>One Step Closer <span>2:35</span></li><li class='sortable'>With You <span>3:23</span></li><li class='sortable'>Points of Authority <span>3:20</span></li><li class='sortable'>Crawling <span>3:29</span></li><li class='sortable'>Runaway <span>3:03</span></li><li class='sortable'>By Myself <span>3:09</span></li></ul>");
$("#divSolution").html(template); //display the result
$("#sortable-basic").kendoSortable();
于 2016-03-21T12:54:00.673 回答