src/sap.ui.table/src/sap/ui/table/Table.js
function setMinColWidths(oTable) {
			var oTableRef = oTable.getDomRef();
			var iAbsoluteMinWidth = TableUtils.Column.getMinColumnWidth();
			var aNotFixedVariableColumns = [];
			var bColumnHeaderVisible = oTable.getColumnHeaderVisible();

			function calcNewWidth(iDomWidth, iMinWidth) {
				if (iDomWidth <= iMinWidth) {
					// tolerance of -5px to make the resizing smooother
					return Math.max(iDomWidth, iMinWidth - 5, iAbsoluteMinWidth) + "px";
				}
				return -1;
			}

			function isFixNeeded(col) {
				var minWidth = Math.max(col._minWidth || 0, iAbsoluteMinWidth, col.getMinWidth());
				var colWidth = col.getWidth();
				var aColHeaders;
				var colHeader;
				var domWidth;
				// if a column has variable width, check if its current width of the
				// first corresponding <th> element in less than minimum and store it;
				// do not change freezed columns
				if (TableUtils.isVariableWidth(colWidth) && !TableUtils.isFixedColumn(oTable, col.getIndex())) {
					aColHeaders = oTableRef.querySelectorAll('th[data-sap-ui-colid="' + col.getId() + '"]');
					colHeader = aColHeaders[bColumnHeaderVisible ? 0 : 1]; // if column headers have display:none, use data table
					domWidth = colHeader ? colHeader.offsetWidth : null;
					if (domWidth !== null) {
						if (domWidth <= minWidth) {
							return {headers : aColHeaders, newWidth: calcNewWidth(domWidth, minWidth)};
						} else if (colHeader && colHeader.style.width != colWidth) {
							aNotFixedVariableColumns.push({col: col, header: colHeader, minWidth: minWidth, headers: aColHeaders});
							// reset the minimum style width that was set previously
							return {headers : aColHeaders, newWidth: colWidth};
						}
						aNotFixedVariableColumns.push({col: col, header: colHeader, minWidth: minWidth, headers: aColHeaders});
					}
				}
				return null;
			}

			function adaptColWidth(oColInfo) {
				if (oColInfo) {
					Array.prototype.forEach.call(oColInfo.headers, function(header) {
						header.style.width = oColInfo.newWidth;
					});
				}
			}

			// adjust widths of all found column headers
			oTable._getVisibleColumns().map(isFixNeeded).forEach(adaptColWidth);

			//Check the rest of the flexible non-adapted columns
			//Due to adaptations they could be smaller now.
			if (aNotFixedVariableColumns.length) {
				var iDomWidth;
				for (var i = 0; i < aNotFixedVariableColumns.length; i++) {
					iDomWidth = aNotFixedVariableColumns[i].header && aNotFixedVariableColumns[i].header.offsetWidth;
					aNotFixedVariableColumns[i].newWidth = calcNewWidth(iDomWidth, aNotFixedVariableColumns[i].minWidth);
					if (parseInt(aNotFixedVariableColumns[i].newWidth) >= 0) {
						adaptColWidth(aNotFixedVariableColumns[i]);
					}
				}
			}
		}
function setMinColWidths(oTable) {
			var oTableRef = oTable.getDomRef();
			var iAbsoluteMinWidth = TableUtils.Column.getMinColumnWidth();
			var aNotFixedVariableColumns = [];
			var bColumnHeaderVisible = oTable.getColumnHeaderVisible();

			function calcNewWidth(iDomWidth, iMinWidth) {
				if (iDomWidth <= iMinWidth) {
					// tolerance of -5px to make the resizing smooother
					return Math.max(iDomWidth, iMinWidth - 5, iAbsoluteMinWidth) + "px";
				}
				return -1;
			}

			function isFixNeeded(col) {
				var minWidth = Math.max(col._minWidth || 0, iAbsoluteMinWidth, col.getMinWidth());
				var colWidth = col.getWidth();
				var aColHeaders;
				var colHeader;
				var domWidth;
				// if a column has variable width, check if its current width of the
				// first corresponding <th> element in less than minimum and store it;
				// do not change freezed columns
				if (TableUtils.isVariableWidth(colWidth) && !TableUtils.isFixedColumn(oTable, col.getIndex())) {
					aColHeaders = oTableRef.querySelectorAll('th[data-sap-ui-colid="' + col.getId() + '"]');
					colHeader = aColHeaders[bColumnHeaderVisible ? 0 : 1]; // if column headers have display:none, use data table
					domWidth = colHeader ? colHeader.offsetWidth : null;
					if (domWidth !== null) {
						if (domWidth <= minWidth) {
							return {headers : aColHeaders, newWidth: calcNewWidth(domWidth, minWidth)};
						} else if (colHeader && colHeader.style.width != colWidth) {
							aNotFixedVariableColumns.push({col: col, header: colHeader, minWidth: minWidth, headers: aColHeaders});
							// reset the minimum style width that was set previously
							return {headers : aColHeaders, newWidth: colWidth};
						}
						aNotFixedVariableColumns.push({col: col, header: colHeader, minWidth: minWidth, headers: aColHeaders});
					}
				}
				return null;
			}

			function adaptColWidth(oColInfo) {
				if (oColInfo) {
					Array.prototype.forEach.call(oColInfo.headers, function(header) {
						header.style.width = oColInfo.newWidth;
					});
				}
			}

			// adjust widths of all found column headers
			oTable._getVisibleColumns().map(isFixNeeded).forEach(adaptColWidth);

			//Check the rest of the flexible non-adapted columns
			//Due to adaptations they could be smaller now.
			if (aNotFixedVariableColumns.length) {
				var iDomWidth;
				for (var i = 0; i < aNotFixedVariableColumns.length; i++) {
					iDomWidth = aNotFixedVariableColumns[i].header && aNotFixedVariableColumns[i].header.offsetWidth;
					aNotFixedVariableColumns[i].newWidth = calcNewWidth(iDomWidth, aNotFixedVariableColumns[i].minWidth);
					if (parseInt(aNotFixedVariableColumns[i].newWidth) >= 0) {
						adaptColWidth(aNotFixedVariableColumns[i]);
					}
				}
			}
		}
function setMinColWidths ( oTable ) { var oTableRef = oTable . getDomRef ( ) ; var iAbsoluteMinWidth = TableUtils . Column . getMinColumnWidth ( ) ; var aNotFixedVariableColumns = [ ] ; var bColumnHeaderVisible = oTable . getColumnHeaderVisible ( ) ; function calcNewWidth ( iDomWidth , iMinWidth ) { if ( iDomWidth <= iMinWidth ) { // tolerance of -5px to make the resizing smooother return Math . max ( iDomWidth , iMinWidth - 5 , iAbsoluteMinWidth ) + "px" ; } return - 1 ; } function isFixNeeded ( col ) { var minWidth = Math . max ( col . _minWidth || 0 , iAbsoluteMinWidth , col . getMinWidth ( ) ) ; var colWidth = col . getWidth ( ) ; var aColHeaders ; var colHeader ; var domWidth ; // if a column has variable width, check if its current width of the // first corresponding <th> element in less than minimum and store it; // do not change freezed columns if ( TableUtils . isVariableWidth ( colWidth ) && ! TableUtils . isFixedColumn ( oTable , col . getIndex ( ) ) ) { aColHeaders = oTableRef . querySelectorAll ( 'th[data-sap-ui-colid="' + col . getId ( ) + '"]' ) ; colHeader = aColHeaders [ bColumnHeaderVisible ? 0 : 1 ] ; // if column headers have display:none, use data table domWidth = colHeader ? colHeader . offsetWidth : null ; if ( domWidth !== null ) { if ( domWidth <= minWidth ) { return { headers : aColHeaders , newWidth : calcNewWidth ( domWidth , minWidth ) } ; } else if ( colHeader && colHeader . style . width != colWidth ) { aNotFixedVariableColumns . push ( { col : col , header : colHeader , minWidth : minWidth , headers : aColHeaders } ) ; // reset the minimum style width that was set previously return { headers : aColHeaders , newWidth : colWidth } ; } aNotFixedVariableColumns . push ( { col : col , header : colHeader , minWidth : minWidth , headers : aColHeaders } ) ; } } return null ; } function adaptColWidth ( oColInfo ) { if ( oColInfo ) { Array . prototype . forEach . call ( oColInfo . headers , function ( header ) { header . style . width = oColInfo . newWidth ; } ) ; } } // adjust widths of all found column headers oTable . _getVisibleColumns ( ) . map ( isFixNeeded ) . forEach ( adaptColWidth ) ; //Check the rest of the flexible non-adapted columns //Due to adaptations they could be smaller now. if ( aNotFixedVariableColumns . length ) { var iDomWidth ; for ( var i = 0 ; i < aNotFixedVariableColumns . length ; i ++ ) { iDomWidth = aNotFixedVariableColumns [ i ] . header && aNotFixedVariableColumns [ i ] . header . offsetWidth ; aNotFixedVariableColumns [ i ] . newWidth = calcNewWidth ( iDomWidth , aNotFixedVariableColumns [ i ] . minWidth ) ; if ( parseInt ( aNotFixedVariableColumns [ i ] . newWidth ) >= 0 ) { adaptColWidth ( aNotFixedVariableColumns [ i ] ) ; } } } }
the only place to fix the minimum column width
the only place to fix the minimum column width