Kendo

HTML

<script src="http://cdn.kendostatic.com/2013.1.514/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.1.514/styles/kendo.default.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.1.514/styles/kendo.common.min.css">
<div id="grid"></div>

JavaScript

var grid = $("#grid").kendoGrid({
    dataSource: {
        type: "odata",
        transport: {
            read: "http://demos.kendoui.com/service/Northwind.svc/Products"
        },
        pageSize: 15,
        serverPaging: true,
        serverSorting: true,
        serverFiltering: true
    },
    columnReorder: function(e){
      var selector = this.thead.find(".filterRow td");
        source = selector.eq(e.oldIndex);
        dest = selector.eq(e.newIndex);
        source[e.oldIndex > e.newIndex ? "insertBefore" : "insertAfter"](dest);
    },
    height: 450,
    reorderable: true,
    pageable: true,
    columns: [{ field: "ProductID"}, { field: "ProductName"}, { field: "UnitPrice"}]
});

var filterRow = $('<tr class="filterRow"><td><input type="search" id="ProductIDSearchBox" value="Enter ProductID"/></td>' +
     '<td><input type="search" id="ProductNameSearchDD" value="Enter ProductName"/></td>' +
     '<td><input type="search" id="UnitPriceSearchBox" value="Enter UnitPrice"/></td></tr>');
grid.data("kendoGrid").thead.append(filterRow);