JSFiddle - React, Tailwind, and code Playground
by theScream
HTML
<script src="http://demos.kendoui.com/content/shared/js/people.js"></script>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.3.1114/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.3.1114/styles/kendo.default.min.css">
<script src="http://cdn.kendostatic.com/2012.3.1114/js/kendo.all.min.js"></script>
<div id="panels">
<div id="visibleGrid"></div>
<div id="commands">
<div><a href="#" id="moveItemToTop" class="k-button" style="width:150px;">Move To Top</a></div>
<div><a href="#" id="moveItemUp" class="k-button"style="width:150px;">Move Up</a></div>
<div><a href="#" id="moveItemDown" class="k-button"style="width:150px;">Move Down</a></div>
<div><a href="#" id="moveItemToBottom" class="k-button"style="width:150px;">Move to Bottom</a></div>
</div>
</div>
CSS
* {
font-family: "Verdana", sans-serif;
font-size: 10pt;
}
#panels {
display: table-row;
}
#visibleGrid {
width: 400px;
display: table-cell;
}
#commands div {
padding-left: 15px;
padding-bottom: 3px;
}
JavaScript
var uids = [];
var selectedOrders = [];
var idField = "Id";
var ds1 = {
data: createRandomData(10),
pageSize: 10,
schema: {
model: {
id: "Id",
fields: {
Id: { type: 'number', editable: true },
FirstName: { type: 'string', editable: true },
LastName: { type: 'string', editable: true }
}
}
}
};
var visibleGrid = $("#visibleGrid").kendoGrid({
dataSource: ds1,
editable: "popup",
selectable: "multiple",
scrollable: true,
change: function (e, args) {
var grid = e.sender;
var items = grid.items();
items.each(function (idx, row) {
var idValue = grid.dataItem(row).get(idField);
if (row.className.indexOf("k-state-selected") >= 0) {
selectedOrders[idValue] = true;
} else if (selectedOrders[idValue]) {
delete selectedOrders[idValue];
}
});
},
dataBound: function (e) {
var grid = e.sender;
var items = grid.items();
var itemsToSelect = [];
items.each(function (idx, row) {
var dataItem = grid.dataItem(row);
if (selectedOrders[dataItem[idField]]) {
itemsToSelect.push(row);
}
});
e.sender.select(itemsToSelect);
},
columns: [
{ field: "Id", width: 30, title: "Id" } ,
{ field: "FirstName", width: 90, title: "First Name" },
{ field: "LastName", width: 90, title: "Last Name" }
]
}).data("kendoGrid");
/* move up */
$("#moveItemUp").on("click", function (idx, elem) {
var selected = visibleGrid.select();
if (selected.length > 0) {
$.each(selected, function (idx, elem) {
var dataItem = visibleGrid.dataItem($(this));
var index = visibleGrid.dataSource.indexOf(dataItem);
if (index > 0) {
var newIndex...