Ga naar inhoud

Hoe kan ik een rij selecteren!!


anoniem

Aanbevolen berichten

Sorry!!! Mijn tabel ziet er zo uit!! <table onclick="sortColumn(event)"> <thead> <td width=20px nowrap></td> <td width=40px nowrap>State</td> <td width=35px nowrap>ID</td> <td width=500px nowrap>Description</td> <td width=80px nowrap>Responsible</td> <td width=65px nowrap>Deadline</td> <td width=65px nowrap>Label</td> <td width=65px nowrap>Owner</td> <td width=65px nowrap>Created</td> <td width=65px nowrap>Planning</td> <td width=60px nowrap>Priority</td> <td width=60px nowrap>User</td> <td width=65px nowrap>Modified</td> <td width=60px nowrap>Version</td> <td width=60px nowrap>Version</td> </thead> <tbody> <tr> <td><FONT color="#FFFFFF"><IMG SRC="images/cat/buggy.gif" WIDTH="16" HEIGHT="16" BORDER="0" ALT="Bug">1</font></td> <td>Completed</td> <td>244</td> <td>2 labels achter elkaar||tweede is anders||Design app gaat goed||Op sticker:</td> <td>-</td> <td>30-12-01</td> <td>-</td> <td>mmarijnissen</td> <td>8-5-01</td> <td>-</td> <td>0</td> <td>mvervoort</td> <td>20-11-01</td> <td>1.0</td> <td>1.1</td> </tr> <tr> <td><FONT color="#FFFFFF"><IMG SRC="images/cat/nice.gif" WIDTH="16" HEIGHT="16" BORDER="0" ALT="Nice to have">7</font></td> <td>Open</td> <td>336</td> <td>FALIS: operators worden opnieuw aan string lijst toegevoegd indien het bestand wordt ingelezen.</td> <td>jeikmans</td> <td>30-12-01</td> <td>-</td> <td>jeikmans</td> <td>1-9-02</td> <td>5 hrs</td> <td>3</td> <td>jeikmans</td> <td>20-11-01</td> <td>1.1.2</td> <td>1.1.3</td> </tr> <tr> <td><FONT color="#FFFFFF"><IMG SRC="images/cat/phone.gif" WIDTH="16" HEIGHT="16" BORDER="0" ALT="Phone">4</font></td> <td>Open</td> <td>812</td> <td>Lasers invoeren. ESC -> daarna schiet hij een scherm teveel terug</td> <td>jeikmans</td> <td>30-12-01</td> <td>-</td> <td>jeikmans</td> <td>4-5-01</td> <td>2 hrs</td> <td>0</td> <td>jeikmans</td> <td>20-11-01</td> <td>1.0</td> <td>-</td> </tr> <tr> <td><FONT color="#FFFFFF"><IMG SRC="images/cat/buggy.gif" WIDTH="16" HEIGHT="16" BORDER="0" ALT="Bug">1</font></td> <td>Completed</td> <td>833</td> <td>Li curve timeout op scherm als meet tijd overschreden wordt</td> <td>-</td> <td>30-12-01</td> <td>-</td> <td>jeikmans</td> <td>14-5-01</td> <td>-</td> <td>0</td> <td>jeikmans</td> <td>7-11-01</td> <td>1.1.0</td> <td>1.2.1</td> </tr> </tbody> </table> met de action SORTCOLUMN, kan ik de verschillende kolomen sorteren. Maar ik wil nu willekeurig een rij kunnen selecten! [ Dit Bericht is bewerkt door: R1ddl3r@work op 2002-02-07 12:07 ]
Link naar reactie
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...
Link naar reactie
mijn tablesort ziet er zo uit!!! var dom = (document.getElementsByTagName) ? true : false; var ie5 = (document.getElementsByTagName && document.all) ? true : false; var arrowUp, arrowDown; if (ie5 || dom) initSortTable(); function initSortTable() { arrowUp = document.createElement("SPAN"); var tn = document.createTextNode("5"); arrowUp.appendChild(tn); arrowUp.className = "arrow"; arrowDown = document.createElement("SPAN"); var tn = document.createTextNode("6"); arrowDown.appendChild(tn); arrowDown.className = "arrow"; } function sortTable(tableNode, nCol, bDesc, sType) { var tBody = tableNode.tBodies[0]; var trs = tBody.rows; var a = new Array(); for (var i=0; i<trs.length; i++) { a[i] = trs[i]; } a.sort(compareByColumn(nCol,bDesc,sType)); for (var i=0; i<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: * "1,000,000" * "1 000 000" * "100cm" */ function toNumber(s) { return Number(s.replace(/[^0-9.]/g, "")); } function compareByColumn(nCol, bDescending, sType) { var c = nCol; var d = bDescending; var fTypeCast = String; if (sType == "Number") fTypeCast = Number; else if (sType == "Date") fTypeCast = parseDate; else if (sType == "CaseInsensitiveString") fTypeCast = CaseInsensitiveString; return function (n1, n2) { if (fTypeCast(getInnerText(n1.cells[c])) < fTypeCast(getInnerText(n2.cells[c]))) return d ? -1 : +1; if (fTypeCast(getInnerText(n1.cells[c])) > 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, "THEAD"); el = getParent(tmp, "TD"); 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<p.cells.length; i++) { if (p.cells[i] == el) break; } var table = getParent(el, "TABLE"); // can't fail sortTable(table,i,el._descending, el.getAttribute("type")); } } function getInnerText(el) { if (ie5) return el.innerText; //Not needed but it is faster var str = ""; for (var i=0; i<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 && el.tagName.toLowerCase() == pTagName.toLowerCase()) // Gecko bug, supposed to be uppercase return el; else return getParent(el.parentNode, pTagName); }
Link naar reactie
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...
Link naar reactie
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
Link naar reactie
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?
Link naar reactie
[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!!! _________________ "The agony in my destiny mirrors the solitude of my isolated fears." -The R!ddler [ Dit Bericht is bewerkt door: R1ddl3r@work op 2002-02-07 17:02 ]
Link naar reactie
<html> <head> <title>Table test</title> <script> 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<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<this.rows.length; i++) { this.rows[i].overStyle = sClassName; } } function setOutStyle(sClassName) { for(i=0; i<this.rows.length; i++) { this.rows[i].outStyle = sClassName; } } function setSelectedStyle(sClassName) { for(i=0; i<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("on"+strEventType, fnAction); return r; } else { alert("Handler could not be attached"); } } function getParent(el, pTagName) { if (el == null) return null; else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase()) return el; else return getParent(el.parentNode, pTagName); } </script> <style> .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; } </style> </head> <body> <table id="myTable" border="0" cellspacing="0" cellpadding="0"> <thead> <tr> <th>Header1</th> <th>Header2</th> </tr> </thead> <tbody> <tr class="odd"> <td>data</td> <td>data</td> </tr> <tr class="even"> <td>data</td> <td>data</td> </tr> <tr class="odd"> <td>data</td> <td>data</td> </tr> </tbody> </table> <script> oTable = new selectTable('myTable',true) </script> </body> </html> Je zal 'm zelf geschikt moeten maken voor multi selectable rows. /E
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...