Angular: Empty Fiddle

http://angularjs.org/

HTML

<script src="http://code.angularjs.org/angular-1.0.1.js"></script>
<div ng-controller="Controller">
    <table border="1" id="mytable" >
      <thead>
        <tr>
          <th ng-repeat="(column,val) in columns"><a ng-click="sort_by()">
              <i>{{column}}</i>
            </a>
		  </th>
         
        </tr>
      </thead>
      <tbody>
        <tr ng-repeat="val in datas| orderBy:sortingOrder:reverse">
          <td ng-repeat="(column,v) in columns">{{val[column]}}</td>
        </tr>
      </tbody>
    </table>
  </div>

JavaScript

var app = angular.module('form-example1', []);

app.controller("Controller", ['$scope', function($scope){
$scope.sortingOrder  = '';
$scope.reverse       = true;
 

$scope.datas = [
    {workname: 'France', teamname: 'Team PQL', placename: 'Place 1', serviceOne: 'ABC 1', serviceTwo: 'DEF 1', serviceThree: 'GHI 1', leadername: 'MN1', ColumnName:[{"Camera name","Begin Time","End Time","Day 1","Day 2","Day 3","Day 4","Day 5","Day 6","Day 7","Day 8","Day 9","Day 10"}]}
];

$scope.getColumns = function()
{
    //console.log( $scope.datas[0].others[0]);
  $scope.datas.resultsOrder = new Array();
     for ( var i = 0; i < $scope.datas.length; i++)
     {
       for ( var j = 0; j < $scope.datas[i].ColumnName.length; j++)
        {
        if (countInstances($scope.datas.resultsOrder, $scope.datas[i].ColumnName[j].id) < countInstances(
                    $scope.datas[i].ColumnName, $scope.datas[i].ColumnName[j].id)){
           $scope.datas.resultsOrder.push($scope.datas[i].ColumnName[j].id);
         }
        }
      }        
$scope.datas.resultsOrder.sort(function(a, b){
    return a.localeCompare(b);
  });
return $scope.datas.resultsOrder;
}
        
countInstances = function(array, string)
{
    var numOfTrue = 0;
    for ( var i = 0; i < array.length; i++){
        if (array[i] === string || array[i].id === string){
            numOfTrue++;
        }
    }
    return numOfTrue;
} 

$scope.getRows = function(others)
{
var row = new Array($scope.datas.resultsOrder.length);
var indexFound = [];

var found = false;
 for ( var i = 0; i < row.length; i++)
 {
	found = false;
	for ( var j = 0; j < others.length; j++)
	{
	if (others[j].id == $scope.datas.resultsOrder[i] && !found && -1 == indexFound.indexOf(j))
	  {
		row[i] = others[j].value;
		indexFound.push(j);
		found = true;
	  }
	}
    if (found == false)
    {
     row[i] = "";
    }
 }
return row;
}


    
  $scope.sort_by = function(newSortingOrder) {
      console.log(newSortingOrder);
    if...