setWidth = function (column, width, oldWidth) {
    const obj = this;

    if (width) {
        if (Array.isArray(column)) {
            // Oldwidth
            if (! oldWidth) {
                oldWidth = [];
            }
            // Set width
            for (let i = 0; i < column.length; i++) {
                if (! oldWidth[i]) {
                    oldWidth[i] = parseInt(obj.cols[column[i]].colElement.getAttribute('width'));
                }
                const w = Array.isArray(width) && width[i] ? width[i] : width;
                obj.cols[column[i]].colElement.setAttribute('width', w);

                if (!obj.options.columns) {
                    obj.options.columns = [];
                }

                if (!obj.options.columns[column[i]]) {
                    obj.options.columns[column[i]] = {};
                }

                obj.options.columns[column[i]].width = w;
            }
        } else {
            // Oldwidth
            if (! oldWidth) {
                oldWidth = parseInt(obj.cols[column].colElement.getAttribute('width'));
            }
            // Set width
            obj.cols[column].colElement.setAttribute('width', width);

            if (!obj.options.columns) {
                obj.options.columns = [];
            }

            if (!obj.options.columns[column]) {
                obj.options.columns[column] = {};
            }

            obj.options.columns[column].width = width;
        }

        // Keeping history of changes
        setHistory.call(obj, {
            action:'setWidth',
            column:column,
            oldValue:oldWidth,
            newValue:width,
        });

        // On resize column
        dispatch.call(obj, 'onresizecolumn', obj, column, width, oldWidth);

        // Update corner position
        updateCornerPosition.call(obj);
    }
}
Set the column width

@param int column number (first column is: 0)
@param int new column width
@param int old column width