Kendo Column Combo Template

HTML

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular.min.js"></script>
<script src="http://cdn.kendostatic.com/2014.3.1316/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="ttp://cdn.kendostatic.com/2014.3.1316/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1316/styles/kendo.silver.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1316/styles/kendo.common.min.css">
<script src="https://getfirebug.com/firebug-lite-debug.js"></script>
<div data-ng-app="app">
    <div data-ng-controller="Grid as vm">
        <div id="gridID" pckendo kendo-grid='grid' k-options="vm.options"></div>  	
    </div>
</div>

JavaScript

$(function() {
var oEditCell = kendo.ui.Grid.fn.editCell;
var oInit = kendo.ui.Grid.fn.init;
kendo.ui.Grid = kendo.ui.Grid.extend({
    init: function () {
        oInit.apply(this, arguments);
        if (typeof this.options.beforeEdit === "function") {
            this.bind("beforeEdit", this.options.beforeEdit.bind(this));
        }
    },
    editCell: function (cell) {
        var that = this,
            cell = $(cell),
            column = that.columns[that.cellIndex(cell)],
            model = that._modelForContainer(cell),
            event = {
                container: cell,
                model: model,
                field: column.field
            };

        if (model && this.trigger("beforeEdit", event)) {
            // don't edit if prevented in beforeEdit
            if (event.isDefaultPrevented()) return;
        }

        oEditCell.call(this, cell);
    }
});
kendo.ui.plugin(kendo.ui.Grid);

});

angular
  .module("app", ["kendo.directives"])
  .controller("Grid", Grid)  

// Grid controller constructor
function Grid() {
  var vm = this;

  vm.gridData = getDataSource();

  vm.options = {
    height: 500,
    navigatable: true,
    sortable: true,
    editable: true,
      dataBound: function(e) {
          //var car = $(this.tbody).find("tr:eq(0)").find("input.boxxy:not('.k-input')").first();
          console.log(car.data("kendoComboBox"));
      },
    beforeEdit: function (e) {
      if (e.field === "car.display") 
      {
          e.preventDefault();
          return;
      }
          
      vm.editMode = true;
      console.log("editing");
    },
    cancel: function () {
      vm.editMode = false;
      console.log("cancelled");
    },

    columns: getColumns(),
    dataSource: vm.gridData
  };
}

var carListData = [
       new RegoDescriptionPair('C1', 'Car 1 - Red GMH sedan'),
       new RegoDescriptionPair('C2', 'Car 2 - Blue Toyota'),
       new RegoDescriptionPair('C3', 'Car 3 - Green Toyota'),
       new...