code: function()
      {
          var headerTableColumns = this._headerTableColumnGroup.children;
          
          var tableWidth = this._dataTable.offsetWidth;
          var numColumns = headerTableColumns.length;
          
          // Do not attempt to use offsetes if we're not attached to the document tree yet.
          if (!this._columnWidthsInitialized && this.element.offsetWidth) {
              // Give all the columns initial widths now so that during a resize,
              // when the two columns that get resized get a percent value for
              // their widths, all the other columns already have percent values
              // for their widths.
              for (var i = 0; i < numColumns; i++) {
                  var columnWidth = this.headerTableBody.rows[0].cells[i].offsetWidth;
                  var percentWidth = ((columnWidth / tableWidth) * 100) + "%";
                  this._headerTableColumnGroup.children[i].style.width = percentWidth;
                  this._dataTableColumnGroup.children[i].style.width = percentWidth;
              }
              this._columnWidthsInitialized = true;
          }
          this._positionResizers();
          this.dispatchEventToListeners("width changed");
      }
docs: Updates the widths of the table, including the positions of the column resizers.  IMPORTANT: This function MUST be called once after the element of the DataGrid is attached to its parent element and every subsequent time the width of the parent element is changed in order to make it possible to resize the columns.  If this function is not called after the DataGrid is attached to its parent element, then the DataGrid's columns will not be resizable.