use*_*460 2 kendo-ui kendo-grid
是否可以使用2个单独的Kendo UI网格,并能够通过UI控件来回传递数据(如前进和后退箭头)?
模式将是在左侧获取主列表,选择项目并在右侧具有精致列表。
如果可能并且不难做到,但是您必须自己做,所以您需要:
Grid及其DataSource公开事件的一些知识。让我们具有以下网格定义:
var grid1 = $("#grid1").kendoGrid({
dataSource: ds1,
selectable: "multiple",
navigatable: true,
pageable: false,
columns: [
{ field: "name", title: "Name" },
{ field: "lastName", title: "Last Name" }
]
}).data("kendoGrid");
var grid2 = $("#grid2").kendoGrid({
dataSource: ds2,
selectable: "multiple",
navigatable: true,
pageable: false,
columns: [
{ field: "name", title: "Name" },
{ field: "lastName", title: "Last Name" }
]
}).data("kendoGrid");
Run Code Online (Sandbox Code Playgroud)
我们定义两个按钮:
grid1到grid2 grid2到grid1 按钮定义为:
<div><a href="#" id="copySelectedToGrid2" class="k-button">></a></div>
<div><a href="#" id="copySelectedToGrid1" class="k-button"><</a></div>
Run Code Online (Sandbox Code Playgroud)
以及用于管理它的JavaScript:
$("#copySelectedToGrid2").on("click", function (idx, elem) {
moveTo(grid1, grid2);
});
$("#copySelectedToGrid1").on("click", function (idx, elem) {
moveTo(grid2, grid1);
});
Run Code Online (Sandbox Code Playgroud)
最后,moveTo将是这样的:
function moveTo(from, to) {
var selected = from.select();
if (selected.length > 0) {
var items = [];
$.each(selected, function (idx, elem) {
items.push(from.dataItem(elem));
});
var fromDS = from.dataSource;
var toDS = to.dataSource;
$.each(items, function (idx, elem) {
toDS.add({ name: elem.name, lastName: elem.lastName });
fromDS.remove(elem);
});
toDS.sync();
fromDS.sync();
}
}
Run Code Online (Sandbox Code Playgroud)
这里的例子
| 归档时间: |
|
| 查看次数: |
2252 次 |
| 最近记录: |