Skip to content
ClosedNo longer accepting applications

Bid Solicitation 00002672

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 18, 2025
First captured
December 12, 2025
Publisher reference
00002672

This opportunity has closed

Bid Solicitation 00002672

by City of Portland

Get notified when similar opportunities open

We'll save this search and email you when new opportunities are posted. Free.

Refine this search