function applyColumnWidths() {
      var x = 0, w, rule;
      assert(canvasWidth != null);
      assert(totalColumnsWidth != null);
      var gridWidth = canvasWidth;
      var headerWidth = totalColumnsWidth + HEADER_ROW_WIDTH_CORRECTION;
      var headerScrollCompensation = scrollbarDimensions.width;
      for (var i = 0, len = columns.length; i < len; i++) {
        w = columns[i].width;

        rule = getColumnCssRules(i);
        if (!rule) {
          // When the styles for one column aren't loaded yet, then you can bet the bank 
          // the others are neither: abort operation!
          return false;             
        }

        rule.left.style.left = x + "px";
        rule.headerLeft.style.left = x + "px";
        x += w;
        rule.right.style.right = (gridWidth - x) + "px";
        rule.headerRight.style.right = (headerWidth - x) + "px";
      }
      return true;
    }
/**
     * This function tweaks the generated `.l<N>` and `.r<N>` CSS rules, setting their
     * `left` and `right` CSS styles to calculated pixel positions.
     *
     * Also note that this assumes the addressed DOM nodes (cells in columns) have
     *     position: absolute;
     */


Also note that this assumes the addressed DOM nodes (cells in columns) have
position: absolute.
Also note that this assumes the addressed DOM nodes ( cells in columns ) have position : absolute .
function applyColumnWidths() {
      var x = 0, w, rule;
      assert(canvasWidth != null);
      assert(totalColumnsWidth != null);
      var gridWidth = canvasWidth;
      var headerWidth = totalColumnsWidth + HEADER_ROW_WIDTH_CORRECTION;
      var headerScrollCompensation = scrollbarDimensions.width;
      for (var i = 0, len = columns.length; i < len; i++) {
        w = columns[i].width;
        rule = getColumnCssRules(i);
        if (!rule) {
          return false;             
        }
        rule.left.style.left = x + "px";
        rule.headerLeft.style.left = x + "px";
        x += w;
        rule.right.style.right = (gridWidth - x) + "px";
        rule.headerRight.style.right = (headerWidth - x) + "px";
      }
      return true;
    }
function applyColumnWidths ( ) { var x = 0 , w , rule ; assert ( canvasWidth != null ) ; assert ( totalColumnsWidth != null ) ; var gridWidth = canvasWidth ; var headerWidth = totalColumnsWidth + HEADER_ROW_WIDTH_CORRECTION ; var headerScrollCompensation = scrollbarDimensions . width ; for ( var i = 0 , len = columns . length ; i < len ; i ++ ) { w = columns [ i ] . width ; rule = getColumnCssRules ( i ) ; if ( ! rule ) { return false ; } rule . left . style . left = x + "px" ; rule . headerLeft . style . left = x + "px" ; x += w ; rule . right . style . right = ( gridWidth - x ) + "px" ; rule . headerRight . style . right = ( headerWidth - x ) + "px" ; } return true ; }
This function tweaks the generated `.l<N>` and `.r<N>` CSS rules, setting their
 `left` and `right` CSS styles to calculated pixel positions.
This function tweaks the generated ` . l<N > ` and ` . r<N > ` CSS rules setting their ` left ` and ` right ` CSS styles to calculated pixel positions .
// When the styles for one column aren't loaded yet, then you can bet the bank  // the others are neither: abort operation!