Bid Solicitation 00002665
City of Portland
About this archived opportunity
body .table-01{ margin-left:15px; margin-right:auto; } .main-logo img, img.main-logo{ max-height: 90px; } .main-logo img, img.main-logo { max-height: 90px; border: 0; box-shadow: none; } td[height="1px"][bgcolor="#000000"]{ background-color: #fff; box-shadow: 0 2px 1px rgba(0,0,0,.15); } contextPath="/bso"; You already have an unfinished Quote for this Bid. Would you like to continue working on that Quote? var theForm = document.forms[0]; function search() { setWaitCursor(); theForm.mode.value = 'search'; theForm.submit(); } function refreshDropdowns() { setWaitCursor(); theForm.mode.value = 'refresh'; theForm.submit(); } function findIt() { setWaitCursor(); theForm.currentPage.value = 1; theForm.mode.value = "search"; theForm.sortBy.value = null; theForm.sortByIndex.value = 0; theForm.sortByDescending.value = false; theForm.submit(); } function findMore() { setWaitCursor(); theForm.currentPage.value = 1; theForm.mode.value = "modeContinueSearch"; theForm.sortBy.value = null; theForm.sortByIndex.value = 0; theForm.sortByDescending.value = false; theForm.submit(); } function findByLetter(currentLetter) { setWaitCursor(); theForm.currentPage.value = 1; theForm.mode.value = 'browse'; theForm.letter.value = currentLetter; theForm.sortBy.value = null; theForm.sortByIndex.value = 0; theForm.sortByDescending.value = false; theForm.submit(); } function searchLetter(currentLetter) { setWaitCursor(); theForm.mode.value = 'browse'; theForm.currentPage.value = 1; theForm.letter.value = currentLetter; theForm.submit(); } function viewPage(pageNum) { setWaitCursor(); theForm.reset(); theForm.mode.value = 'navigation'; theForm.currentPage.value = pageNum; theForm.submit(); } function viewSubpage(subformName, pageNum) { setWaitCursor(); theForm[subformName + '.mode'].value = 'navigation'; theForm[subformName + '.currentPage'].value = pageNum; theForm.mode.value = ""; theForm.submit(); } function setSearchFormName(name) { theForm = document.forms[name]; } function openWinFlexSearchTips() { flexSearchTipsWinFeatures = "top=100,left=100,width=300,height=300," + "toolbar=no,menubar=no,location=no,directories=no," + "scrollbars=no,resizable=yes,status=no"; window.open(contextPath + "/external/search/flexSearchTips.jsp", "flexSearchTipsWin", flexSearchTipsWinFeatures); } var colsToIgnoreArray; // Col indexes to ignore var desChrFile = "images/downsort.gif"; // Image for descending sort var selectedColor = "#076979"; // Color for sort focus var cellHighlightColor = "#076979"; // Color for cell highlight var dbSortColumns = new Array(); // set this in JSP containing the table var dbSortFormEle = document.forms[0]; // default value, can override var dbSortTableId = "resultsTable"; // default value, can override var subformName = ""; function initDbSort(ignoreCols) { var myTable = $("#"+dbSortTableId); var thead = myTable.find("thead"); var thRows = myTable.find("tr:eq(0)"); $(myTable).attr("subformName", subformName); $(myTable).attr("dbSortColumns", dbSortColumns); if (thead.length===0){ //if there is no thead element, add one. thead = $("<thead></thead>").appendTo(myTable); var copy = thRows.clone(true).appendTo("#"+dbSortTableId +" thead"); thRows.remove(); } if (typeof ignoreCols == "undefined" || ignoreCols.length <= 0 ) { colsToIgnoreArray = []; } else { //colsToIgnoreArray = ignoreCols.split(",").map(Number); //Output: [1,2,3]; colsToIgnoreArray = jQuery.map(ignoreCols.split(","), Number); } selectedColor = "#076979"; columnCount = dbSortColumns.length; //Similar check was in older version of dbSort so we're doing the same if($(myTable).find("tr:first th").length > columnCount){ //alert("bad column count"); return; } var currentPage = getFormEle(dbSortFormEle, subformName, "currentPage").value; var sortByDescendingLocal = getFormEle(dbSortFormEle, subformName, "sortByDescending").value; var mode = getFormEle(dbSortFormEle, subformName, "mode").value; var sortbyindex2 = getFormEle(dbSortFormEle, subformName, "sortByIndex").value; sortByIndex = getFormEle(dbSortFormEle, $(myTable).attr("subformName"), "sortByIndex").value; sortByDescending = getFormEle(dbSortFormEle, $(myTable).attr("subformName"), "sortByDescending").value; //$(document.getElementById(dbSortTableId).rows[0].cells[sortByIndex]).remove("img"); $("#"+dbSortTableId+" thead tr").each(function () { $('th', this).each(function (colIndex, c) { var colToIgnoreIndex; if (!Array.indexOf) { colToIgnoreIndex = getValueIndex(colsToIgnoreArray, colIndex); } else { colToIgnoreIndex = colsToIgnoreArray.indexOf(colIndex); } if( colToIgnoreIndex < 0 ){ var columnVar = $(this).html(); var columnNm = '<a class ="link-01" href="javascript:void();" >' + columnVar + '</a>'; $(this).html(columnNm); if( $(this).attr( "aria-sort" ) == undefined ){ var column = $(this).parent().children().index(this); var ariaSortValue = sortByDescending == 'true' ? "descending":"ascending"; //For some reason IE9 and earlier versions do not like the code block below // A ticket has been written up to tr
Historical details
- Status
- Closed
- Deadline
- December 17, 2025
- First captured
- December 12, 2025
- Publisher reference
- 00002665
This opportunity has closed
Bid Solicitation 00002665
by City of Portland
Get notified when similar opportunities open
We'll save this search and email you when new opportunities are posted. Free.