Vraag & Antwoord

Webprogrammeren & scripting

Hoe kan ik een rij selecteren!!

12 antwoorden
  • Hoe kan ik een rij selecteren in een tabel met ongeveer 30 regels. En kan dit ook met multi selectie. Ik heb een tabel met 14 kolomnamen met 30, met 30 records. Nou wil ik graag kunnen dat ik een willekeurige rij kan selecteren. (Multi selectie zo ook mooi zijn). Heeft er iemand een idee, of oplossing. greetingz, R1ddl3r
  • wordt er weer gevraagd om paranormaal begaafde hulp?? Heel heel heel misschien is het ook handig als je eens verteld... [b:9179a80af4]waar heb je het over?[/b:9179a80af4] Wil je een rij uit een database halen en wat voor database dan en met welke taal?, heb je het over een html-tabel? Wat?
  • We moeten dus maar gokken. :grin: In Access Tabelview klik vooraan de rij met de muis, wil je meer selecteren, dan CTRL ingedrukt houden en klikken.
  • Sorry!!! Mijn tabel ziet er zo uit!! &lt;table onclick=&quot;sortColumn(event)&quot;&gt; &lt;thead&gt; &lt;td width=20px nowrap&gt;&lt;/td&gt; &lt;td width=40px nowrap&gt;State&lt;/td&gt; &lt;td width=35px nowrap&gt;ID&lt;/td&gt; &lt;td width=500px nowrap&gt;Description&lt;/td&gt; &lt;td width=80px nowrap&gt;Responsible&lt;/td&gt; &lt;td width=65px nowrap&gt;Deadline&lt;/td&gt; &lt;td width=65px nowrap&gt;Label&lt;/td&gt; &lt;td width=65px nowrap&gt;Owner&lt;/td&gt; &lt;td width=65px nowrap&gt;Created&lt;/td&gt; &lt;td width=65px nowrap&gt;Planning&lt;/td&gt; &lt;td width=60px nowrap&gt;Priority&lt;/td&gt; &lt;td width=60px nowrap&gt;User&lt;/td&gt; &lt;td width=65px nowrap&gt;Modified&lt;/td&gt; &lt;td width=60px nowrap&gt;Version&lt;/td&gt; &lt;td width=60px nowrap&gt;Version&lt;/td&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;FONT color=&quot;#FFFFFF&quot;&gt;&lt;IMG SRC=&quot;images/cat/buggy.gif&quot; WIDTH=&quot;16&quot; HEIGHT=&quot;16&quot; BORDER=&quot;0&quot; ALT=&quot;Bug&quot;&gt;1&lt;/font&gt;&lt;/td&gt; &lt;td&gt;Completed&lt;/td&gt; &lt;td&gt;244&lt;/td&gt; &lt;td&gt;2 labels achter elkaar||tweede is anders||Design app gaat goed||Op sticker:&lt;/td&gt; &lt;td&gt;-&lt;/td&gt; &lt;td&gt;30-12-01&lt;/td&gt; &lt;td&gt;-&lt;/td&gt; &lt;td&gt;mmarijnissen&lt;/td&gt; &lt;td&gt;8-5-01&lt;/td&gt; &lt;td&gt;-&lt;/td&gt; &lt;td&gt;0&lt;/td&gt; &lt;td&gt;mvervoort&lt;/td&gt; &lt;td&gt;20-11-01&lt;/td&gt; &lt;td&gt;1.0&lt;/td&gt; &lt;td&gt;1.1&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;FONT color=&quot;#FFFFFF&quot;&gt;&lt;IMG SRC=&quot;images/cat/nice.gif&quot; WIDTH=&quot;16&quot; HEIGHT=&quot;16&quot; BORDER=&quot;0&quot; ALT=&quot;Nice to have&quot;&gt;7&lt;/font&gt;&lt;/td&gt; &lt;td&gt;Open&lt;/td&gt; &lt;td&gt;336&lt;/td&gt; &lt;td&gt;FALIS: operators worden opnieuw aan string lijst toegevoegd indien het bestand wordt ingelezen.&lt;/td&gt; &lt;td&gt;jeikmans&lt;/td&gt; &lt;td&gt;30-12-01&lt;/td&gt; &lt;td&gt;-&lt;/td&gt; &lt;td&gt;jeikmans&lt;/td&gt; &lt;td&gt;1-9-02&lt;/td&gt; &lt;td&gt;5 hrs&lt;/td&gt; &lt;td&gt;3&lt;/td&gt; &lt;td&gt;jeikmans&lt;/td&gt; &lt;td&gt;20-11-01&lt;/td&gt; &lt;td&gt;1.1.2&lt;/td&gt; &lt;td&gt;1.1.3&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;FONT color=&quot;#FFFFFF&quot;&gt;&lt;IMG SRC=&quot;images/cat/phone.gif&quot; WIDTH=&quot;16&quot; HEIGHT=&quot;16&quot; BORDER=&quot;0&quot; ALT=&quot;Phone&quot;&gt;4&lt;/font&gt;&lt;/td&gt; &lt;td&gt;Open&lt;/td&gt; &lt;td&gt;812&lt;/td&gt; &lt;td&gt;Lasers invoeren. ESC -&gt; daarna schiet hij een scherm teveel terug&lt;/td&gt; &lt;td&gt;jeikmans&lt;/td&gt; &lt;td&gt;30-12-01&lt;/td&gt; &lt;td&gt;-&lt;/td&gt; &lt;td&gt;jeikmans&lt;/td&gt; &lt;td&gt;4-5-01&lt;/td&gt; &lt;td&gt;2 hrs&lt;/td&gt; &lt;td&gt;0&lt;/td&gt; &lt;td&gt;jeikmans&lt;/td&gt; &lt;td&gt;20-11-01&lt;/td&gt; &lt;td&gt;1.0&lt;/td&gt; &lt;td&gt;-&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;FONT color=&quot;#FFFFFF&quot;&gt;&lt;IMG SRC=&quot;images/cat/buggy.gif&quot; WIDTH=&quot;16&quot; HEIGHT=&quot;16&quot; BORDER=&quot;0&quot; ALT=&quot;Bug&quot;&gt;1&lt;/font&gt;&lt;/td&gt; &lt;td&gt;Completed&lt;/td&gt; &lt;td&gt;833&lt;/td&gt; &lt;td&gt;Li curve timeout op scherm als meet tijd overschreden wordt&lt;/td&gt; &lt;td&gt;-&lt;/td&gt; &lt;td&gt;30-12-01&lt;/td&gt; &lt;td&gt;-&lt;/td&gt; &lt;td&gt;jeikmans&lt;/td&gt; &lt;td&gt;14-5-01&lt;/td&gt; &lt;td&gt;-&lt;/td&gt; &lt;td&gt;0&lt;/td&gt; &lt;td&gt;jeikmans&lt;/td&gt; &lt;td&gt;7-11-01&lt;/td&gt; &lt;td&gt;1.1.0&lt;/td&gt; &lt;td&gt;1.2.1&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; met de action SORTCOLUMN, kan ik de verschillende kolomen sorteren. Maar ik wil nu willekeurig een rij kunnen selecten! <font size=-1>[ Dit Bericht is bewerkt door: R1ddl3r@work op 2002-02-07 12:07 ]</font>
  • /edit: nevermind, ik zie dat je intussen je post hebt aangepast en er meer info staat. <font size=-1>[ Dit Bericht is bewerkt door: Annie op 2002-02-07 12:13 ]</font>
  • ik geloof niet dat ik er veel van begrijp..?!?!?!? :???: die action SORTCOLUMN waar je het over hebt, is neem ik aan een Javascript functie die je gebruikt. Wat hebben we dan aan code waar die hele Javascript-code niet in staat?!?!? :???: misschien kan je dat stuk ook even posten, wellicht wordt het dan wat duidelijker...
  • mijn tablesort ziet er zo uit!!! var dom = (document.getElementsByTagName) ? true : false; var ie5 = (document.getElementsByTagName &amp;&amp; document.all) ? true : false; var arrowUp, arrowDown; if (ie5 || dom) initSortTable(); function initSortTable() { arrowUp = document.createElement(&quot;SPAN&quot;); var tn = document.createTextNode(&quot;5&quot;); arrowUp.appendChild(tn); arrowUp.className = &quot;arrow&quot;; arrowDown = document.createElement(&quot;SPAN&quot;); var tn = document.createTextNode(&quot;6&quot;); arrowDown.appendChild(tn); arrowDown.className = &quot;arrow&quot;; } function sortTable(tableNode, nCol, bDesc, sType) { var tBody = tableNode.tBodies[0]; var trs = tBody.rows; var a = new Array(); for (var i=0; i&lt;trs.length; i++) { a[i] = trs[i]; } a.sort(compareByColumn(nCol,bDesc,sType)); for (var i=0; i&lt;a.length; i++) { tBody.appendChild(a[i]); } } function CaseInsensitiveString(s) { return String(s).toUpperCase(); } function parseDate(s) { return Date.parse(s.replace(/-/g, '/')); } /* alternative to number function * This one is slower but can handle non numerical characters in * the string allow strings like the follow (as well as a lot more) * to be used: * &quot;1,000,000&quot; * &quot;1 000 000&quot; * &quot;100cm&quot; */ function toNumber(s) { return Number(s.replace(/[^0-9.]/g, &quot;&quot;)); } function compareByColumn(nCol, bDescending, sType) { var c = nCol; var d = bDescending; var fTypeCast = String; if (sType == &quot;Number&quot;) fTypeCast = Number; else if (sType == &quot;Date&quot;) fTypeCast = parseDate; else if (sType == &quot;CaseInsensitiveString&quot;) fTypeCast = CaseInsensitiveString; return function (n1, n2) { if (fTypeCast(getInnerText(n1.cells[c])) &lt; fTypeCast(getInnerText(n2.cells[c]))) return d ? -1 : +1; if (fTypeCast(getInnerText(n1.cells[c])) &gt; fTypeCast(getInnerText(n2.cells[c]))) return d ? +1 : -1; return 0; }; } function sortColumn(e) { var tmp, el, tHeadParent; if (ie5) tmp = e.srcElement; else if (dom) tmp = e.target; tHeadParent = getParent(tmp, &quot;THEAD&quot;); el = getParent(tmp, &quot;TD&quot;); if (tHeadParent == null) return; if (el != null) { var p = el.parentNode; var i; if (el._descending) // catch the null el._descending = false; else el._descending = true; if (tHeadParent.arrow != null) { if (tHeadParent.arrow.parentNode != el) { tHeadParent.arrow.parentNode._descending = null; //reset sort order } tHeadParent.arrow.parentNode.removeChild(tHeadParent.arrow); } if (el._descending) tHeadParent.arrow = arrowDown.cloneNode(true); else tHeadParent.arrow = arrowUp.cloneNode(true); el.appendChild(tHeadParent.arrow); // get the index of the td for (i=0; i&lt;p.cells.length; i++) { if (p.cells[i] == el) break; } var table = getParent(el, &quot;TABLE&quot;); // can't fail sortTable(table,i,el._descending, el.getAttribute(&quot;type&quot;)); } } function getInnerText(el) { if (ie5) return el.innerText; //Not needed but it is faster var str = &quot;&quot;; for (var i=0; i&lt;el.childNodes.length; i++) { switch (el.childNodes.item(i).nodeType) { case 1: //ELEMENT_NODE str += getInnerText(el.childNodes.item(i)); break; case 3: //TEXT_NODE str += el.childNodes.item(i).nodeValue; break; } } return str; } function getParent(el, pTagName) { if (el == null) return null; else if (el.nodeType == 1 &amp;&amp; el.tagName.toLowerCase() == pTagName.toLowerCase()) // Gecko bug, supposed to be uppercase return el; else return getParent(el.parentNode, pTagName); }
  • nou even vooropgesteld dat ik niet door 3 km code ga worstelen... je kan dus nu in de tabel alleen per kolom sorteren, en je wilt dus per rij kunnen selecteren? als je dit script zelf hebt geschreven, moet het volgens mij niet zo moeilijk zijn een vergelijkbare functie te schrijven voor het sorteren van rijen; hierbij kan ik je echter niet helpen. Als je het niet zelf bedacht hebt (wat ik vermoed), zou ik zeggen: zoek nog eens verder naar vergelijkbare scripts...
  • Natuurlijk heb ik die code niet zelf verzonnen!!! Ik ben maar een NEwbie!! Daarom vraag ik of iemand mijn kan helpen om in javascript of een andere taal. Zodat ik en hele rij kan selecteren. Ik heb trouwens wel gezocht, maar daar heb ik geen resultaten op gevonden. En daarom stel ik mijn vraag dus hier. Greetinzg, R1ddl3r
  • toch houd ik het idee dat je iets ander bedoelt dan er helemaal uitkomt... wil je nou sorteren of selecteren? het script dat je nou hebt, laat een [b:3b6ee90c51]kolom[/b:3b6ee90c51] sorteren. Maar waarom zou je een [b:3b6ee90c51]rij[/b:3b6ee90c51] sorteren? Bedoel je hier niet selecteren? Ofwel, wil je gewoon de tekst die in een aantal cellen voorkomt kunnen selecteren?
  • [quote:d128d9f624] Op 07-02-2002 10:31, schreef R1ddl3r@work: Hoe kan ik een rij selecteren in een tabel met ongeveer 30 regels. En kan dit ook met multi selectie. Ik heb een tabel met 14 kolomnamen met 30, met 30 records. Nou wil ik graag kunnen dat ik een willekeurige rij kan selecteren. (Multi selectie zo ook mooi zijn). Heeft er iemand een idee, of oplossing. greetingz, R1ddl3r [/quote:d128d9f624] Ik wil gewoon dat ik een rij kan selecteren. Die dan gehighlight wordt. Dat ik ook mijn tabel kan sorteren is een tweede functie!!! Maar het gaat ech om het SELECTEREN VAN een of meerdere rijen!!! _________________ &quot;The agony in my destiny mirrors the solitude of my isolated fears.&quot; -The R!ddler <font size=-1>[ Dit Bericht is bewerkt door: R1ddl3r@work op 2002-02-07 17:02 ]</font>
  • &lt;html&gt; &lt;head&gt; &lt;title&gt;Table test&lt;/title&gt; &lt;script&gt; function selectTable (sId,sSelectable) { if(!(this instanceof selectTable)) return new selectTable(sId); var defaultSelectable = 'true'; var oTable = document.getElementById(sId); var oTBody = oTable.tBodies[0]; var oRows = oTBody.rows; var selectedRow = null; var bContinue = true; var isSelectable = sSelectable || defaultSelectable; this.rows = []; this.setOverStyle = setOverStyle; this.setOutStyle = setOutStyle; this.setSelectedStyle = setSelectedStyle; this.getSelectedId = getSelectedId; this.getSelectedRow = getSelectedRow; this.setSelectedRow = setSelectedRow; this.getAttribute = getAttribute; for (i=0; i&lt;oRows.length; i++) { sRowId ='row'+i; this.rows[i] = oRows[i]; this.rows[i].id = sRowId; this.rows[i].overStyle = 'selected'; this.rows[i].outStyle = oRows[i].className; this.rows[i].selectedStyle = 'selected'; this.rows[i].selected = false; if(eval(isSelectable)) { addEvent(this.rows[i],'mouseout',rowMouseOut,false); addEvent(this.rows[i],'mouseover',rowMouseOver,false); addEvent(this.rows[i],'mousedown',rowMouseDown,false); } } function setOverStyle(sClassName) { for(i=0; i&lt;this.rows.length; i++) { this.rows[i].overStyle = sClassName; } } function setOutStyle(sClassName) { for(i=0; i&lt;this.rows.length; i++) { this.rows[i].outStyle = sClassName; } } function setSelectedStyle(sClassName) { for(i=0; i&lt;this.rows.length; i++) { this.rows[i].selectedStyle = sClassName; } } function getAttribute(sAttributeName) { if(selectedRow != null) { if(selectedRow.getAttribute(sAttributeName) != null) { return selectedRow.getAttribute(sAttributeName); } else { alert('No attributes defined'); return false; } } else { alert('No row selected'); return false; } } function getSelectedId() { if(selectedRow != null) { return selectedRow.id; } else { alert('No row selected'); return false; } } function getSelectedRow() { if(selectedRow != null) { return selectedRow; } else { alert('No row selected'); return false; } } function setSelectedRow(oObj) { selectedRow = oObj; } function rowMouseOut(e) { if(document.addEventListener) { var srcRow = getParent(e.currentTarget,'tr'); } else { var srcRow = getParent(window.event.srcElement,'tr'); } if(!srcRow.selected) { srcRow.className = srcRow.outStyle; } } function rowMouseOver(e) { if(document.addEventListener) { var srcRow = getParent(e.currentTarget,'tr'); } else { var srcRow = getParent(window.event.srcElement,'tr'); } if(!srcRow.selected) { srcRow.className = srcRow.overStyle; } } function rowMouseDown(e) { if(document.addEventListener) { var srcRow = getParent(e.currentTarget,'tr'); } else { var srcRow = getParent(window.event.srcElement,'tr'); } if(selectedRow != null) { selectedRow.className = srcRow.outStyle; selectedRow.selected = false; } srcRow.className = srcRow.selectedStyle; srcRow.selected = true; selectedRow = srcRow; } } function addEvent(oObj, strEventType, fnAction, bUseCapture){ if (oObj.addEventListener){ oObj.addEventListener(strEventType, fnAction, bUseCapture); return true; } else if (oObj.attachEvent){ var r = oObj.attachEvent(&quot;on&quot;+strEventType, fnAction); return r; } else { alert(&quot;Handler could not be attached&quot;); } } function getParent(el, pTagName) { if (el == null) return null; else if (el.nodeType == 1 &amp;&amp; el.tagName.toLowerCase() == pTagName.toLowerCase()) return el; else return getParent(el.parentNode, pTagName); } &lt;/script&gt; &lt;style&gt; .selected { background-color: highlight; color: white; } table { border: 1px solid #000000; font: icon; } td { padding: 2px; } th { padding: 4px; font: icon; background-color: #6699CC; color: #FFFFFF; border: 1px outset #6699CC; } .odd { background-color: #EEEEEE; } .even { background-color: #FFFFFF; } &lt;/style&gt; &lt;/head&gt; &lt;body&gt; &lt;table id=&quot;myTable&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;Header1&lt;/th&gt; &lt;th&gt;Header2&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr class=&quot;odd&quot;&gt; &lt;td&gt;data&lt;/td&gt; &lt;td&gt;data&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;even&quot;&gt; &lt;td&gt;data&lt;/td&gt; &lt;td&gt;data&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;odd&quot;&gt; &lt;td&gt;data&lt;/td&gt; &lt;td&gt;data&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;script&gt; oTable = new selectTable('myTable',true) &lt;/script&gt; &lt;/body&gt; &lt;/html&gt; Je zal 'm zelf geschikt moeten maken voor multi selectable rows. /E

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.