Slickgrid :

HTML

<link rel="stylesheet" href="http://mleibman.github.io/SlickGrid/slick.grid.css">
<script src="http://mleibman.github.io/SlickGrid/slick.dataview.js"></script>
<script src="http://mleibman.github.io/SlickGrid/lib/jquery.event.drag-2.2.js"></script>
<script src="http://mleibman.github.io/SlickGrid/slick.core.js"></script>
<script src="http://mleibman.github.io/SlickGrid/slick.grid.js"></script>
<script src="http://mleibman.github.io/SlickGrid/slick.groupitemmetadataprovider.js"></script>
<script src="http://mleibman.github.io/SlickGrid/plugins/slick.rowselectionmodel.js"></script>
<script src="http://mleibman.github.io/SlickGrid/controls/slick.pager.js"></script>
<div id="myGrid" style="width:600px;height:100px;"></div>

JavaScript

var init = [];
var dataView=[];
for(var i = 0; i < 25; ++i){
    init.push({id: i, QuestionText: "Text " + i})
}
(function setGrid(d){
    var grid;
    var data = d;
    
    var formatgridInActiveDel = function(row, cell, value, columnDef, dataContext){return value};
    var chkboxFormatter = function(){};
    var formatgridcentercol = function(){};
    var buttonFormatter = function(){};
    
    var columns = [
        { id : "questiontext", name: "Question", field : "QuestionText", sortable:true, behavior:"select", cssClass: "cell-selection", width:100, cannotTriggerInsert:true, formatter: formatgridInActiveDel},
        { id : "isactive", name: "Active", field : "IsActive", sortable:false, behavior:"select", cssClass: "cell-selection", width: 55, cannotTriggerInsert:true, formatter: chkboxFormatter},
        { id : "multianswer", name: "Multi Answer", field : "MultiAnswer", sortable:false, behavior:"select", cssClass: "cell-selection", width: 100, cannotTriggerInsert:true, formatter: chkboxFormatter},
        { id : "orderorq", name: "Order", field : "OrderOfQ", sortable:true, behavior:"select", cssClass: "cell-selection", width: 55, cannotTriggerInsert:true, formatter: formatgridcentercol},
        { id : "btnedit", name: "Edit", field : "Edit", sortable:false, behavior:"select", cssClass: "cell-selection", width: 55, cannotTriggerInsert:true, formatter: buttonFormatter},
        { id : "btndel", name :"Del", field: "Del", sortable:false, behavior:"select", cssClass: "cell-selection", width: 55, cannotTriggerInsert:true, formatter: buttonFormatter}
    ];
    var options = {
        enableCellNavigation: true,
        forceFitcolumns: true,
        multiSelect: false,
        syncColumnCellResize: true
    };
     dataView.getItemMetadata = function () {
var item=[];
                     item = dataView.getItems();


                    if (item["Question"] == "Text 0")
                     {
                        return { cssClasses: 'highlight' };

   ...