Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Sortera en hämtad lista på nytt. LÖST

Postades av 2002-08-15 11:10:57 - Fredrik Henrysson, i forum asp - allmänt, Tråden har 3 Kommentarer och lästs av 457 personer

Hej,

Någon som vet om det är möjligt att sortera om en sida som är hämtad från en databas utan att hämta all data igen (brukar ligga på 300-400 poster).

Jag har ett antal kolumner och har en standard sortering men sedan skulle jag vilja ge möjlighet för användarna att klicka på kolumnrubriken för en annan kolumn och få den sorterad efter den istället....

//Fredrik


Svara

Sv: Sortera en hämtad lista på nytt

Postades av 2002-08-15 11:38:10 - Jonas Gauffin

För att kunna sortera datat igen måste det ligga i en cookie eller en sessionsvariabel. Detta eftersom http är stateless. Och lägga så mycket data i en variabel är inte att rekommandera.

Med andra ord, hämta datat på nytt och sortera..


Svara

Sv: Sortera en hämtad lista på nytt

Postades av 2002-08-15 12:43:59 - Joachim Feldt

Jag har ett Javascript som löser detta. Det sorterar alltså på klienten.
Här här själva scriptet(denna sida är helt statisk, så du får implemtera den i ditt rs):

<code>
<SCRIPT LANGUAGE="JAVASCRIPT">
function createRowsArray (table) {
var rows = new Array();
var r = 0;
if (table.tHead == null && table.tFoot == null)
for (var r1 = 0; r1 < table.rows.length; r1++, r++)
rows[r] = table.rows[r1];
else
for (var t = 0; t < table.tBodies.length; t++)
for (var r1 = 0; r1 < table.tBodies[t].rows.length; r1++, r++)
rows[r] = table.tBodies[t].rows[r1];
return rows;
}
function insertSortedRows(table, rows) {
if (document.all) var rowsCopy = new Array(rows.length)
for (var r = 0; r < rows.length; r++) {
if (document.all) rowsCopy[r] = rows[r].cloneNode(true);
table.deleteRow(rows[r].rowIndex);
}
var tableSection = table.tBodies[table.tBodies.length - 1];
for (var r = 0; r < rows.length; r++) {
var row = document.all ? rowsCopy[r] : rows[r];
tableSection.appendChild(row);
}
}
function sortTable (table, sortFun) {
var rows = createRowsArray(table);
if (rows.length > 0) {
rows.sort(sortFun);
insertSortedRows(table, rows);
}
}

function sortRowsAlpha (row1 , row2) {
var column = sortRowsAlpha.col;
var cell1 = row1.cells[column].firstChild.nodeValue;
var cell2 = row2.cells[column].firstChild.nodeValue;
return cell1 < cell2 ? - 1 : (cell1 == cell2 ? 0 : 1);
}
function sortRowsNumber (row1 , row2) {
var column = sortRowsNumber.col;
var cell1 = parseFloat(row1.cells[column].firstChild.nodeValue);
var cell2 = parseFloat(row2.cells[column].firstChild.nodeValue);
return cell1 < cell2 ? - 1 : (cell1 == cell2 ? 0 : 1);
}
function sortRowsLink (row1 , row2) {
var column = sortRowsLink.col;
var cell1 = findFirstLinkChild(row1.cells[column]).href;
var cell2 = findFirstLinkChild(row2.cells[column]).href;
return cell1 < cell2 ? - 1 : (cell1 == cell2 ? 0 : 1);
}
function findFirstLinkChild (el) {
var child = el.firstChild;
while (child.tagName != 'A')
child = child.nextSibling;
return child;
}
function testSortTable(table, col) {
sortRowsAlpha.col = col;
sortTable(table, sortRowsAlpha);
}
function testSortTableNumerical (table, col) {
sortRowsNumber.col = col;
sortTable(table, sortRowsNumber);
}
function testSortTableLinks (table, col) {
sortRowsLink.col = col;
sortTable(table, sortRowsLink);
}
function findTableParent (node) {
while (node.tagName.toUpperCase() != 'TABLE')
node = node.parentNode;
return node;
}
</SCRIPT>

</code>

Sen kommer tabellen i <body>, där man klickar på rubriken eller på knapparna för att sortera. Notera att det är olika funktioner för vilken typ av sortering(numerisk,text eller länk):

<code>
<BODY>
<BUTTON ONCLICK="testSortTable(document.getElementById('aTable'), 0);">sort col 0</BUTTON>
<BUTTON ONCLICK="testSortTableLinks(document.getElementById('aTable'), 1);">sort col 1</BUTTON>
<BUTTON ONCLICK="testSortTableNumerical(document.getElementById('aTable'), 2);">sort col 2 numerical</BUTTON>

<BR>

<TABLE ID="aTable">
<THEAD>
<TR>
<TH ONCLICK="testSortTable(findTableParent(this), this.cellIndex);">Project Manager</TH>
<TH ONCLICK="testSortTableLinks(findTableParent(this), this.cellIndex);">View</TH>
<TH ONCLICK="testSortTableNumerical(findTableParent(this), this.cellIndex);">ID</TH>
</TR>
</THEAD>

<TBODY>

<TR>
<TD>Chris A Veale</TD>
<TD>View</TD>
<TD>61</TD>
</TR>
<TR>
<TD>Aoachim Feldt</TD>
<TD>View</TD>
<TD>84</TD>
</TR>
<TR>
<TD>Kalle Johansson</TD>
<TD>View</TD>
<TD>12</TD>
</TR>
<TR>
<TD>Stina Berggren</TD>
<TD>View</TD>
<TD>8</TD>
</TR>
<TR>
<TD>Sven Pettewrson</TD>
<TD>View</TD>
<TD>45</TD>
</TR>
<TR>
<TD>Pelle Matsson</TD>
<TD>View</TD>
<TD>1</TD>
</TR>

</TBODY>
</TABLE>

</BODY>

</code>


Svara

Sv: Sortera en hämtad lista på nytt. LÖST

Postades av 2002-08-15 15:28:18 - Fredrik Henrysson

Det funkar klockrent. Tack för hjälpen

//Fredrik


Svara

Nyligen

  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 889
27 965
271 778
568
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies