User:Tcncv/Table Sort Demo#An example from MediaWiki talk:Common.js
This page contains several tables used to demonstrate proposed colspan/rowspan enhancements to Wikipedia table sorting functions. To view the enhancements in operation, you must add importScript('User:Tcncv/sorttables.js'); to your monobook.js file (or appropriate xxx.js file for your chosen skin).
In addition to these tables, you can try the functionality on your own tables (on a suitable test page - not mainspace) by adding class="wikitable tsx_sortable" to the table header. The class="autorowspan" attribute can also be added to columns or the entire table to maximize cell merge operations.
__TOC__
Test table adapted from [[Swimming at the 2008 Summer Olympics]]
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" | ||||||
align=center style="background:lightblue"| Click [Show] to view example--> | ||||||
---|---|---|---|---|---|---|
align=center|
{| class="wikitable tsx_sortable" style=text-align:center | ||||||
class="autorowspan"| autorowspan Gender !class="autorowspan"| autorowspan !class="autorowspan"| autorowspan ! Round !class="autorowspan"| autorowspan !class="autorowspan"| autorowspan ! Time ! OR ! WR | ||||||
rowspan=37 class="xxx" bgcolor=ccffcc| Men's
| align=left rowspan=4 | Men's 50 m freestyle | August 14 | Heat 11 | César Cielo | align=left | {{flagIOC|BRA|2008 Summer}} | 21.47 | OR | |
August 14 | Heat 12 | Amaury Leveaux | align=left | {{flagIOC|FRA|2008 Summer}} | 21.46 | OR | |
August 15 | Semifinal 1 | César Cielo | align=left | {{flagIOC|BRA|2008 Summer}} | 21.34 | OR | |
August 16 | Final | César Cielo | align=left | {{flagIOC|BRA|2008 Summer}} | 21.30 | OR | |
align=left rowspan=4 | Men's 100 m freestyle
| August 10 | 4×100 m freestyle relay Heat 1 leadoff | Amaury Leveaux | align=left | {{flagIOC|FRA|2008 Summer}} | 47.76 | OR | |
August 11 | 4×100 m freestyle relay Final leadoff | Eamon Sullivan | align=left | {{flagIOC|AUS|2008 Summer}} | 47.24 | OR | WR |
August 13 | Semifinal 1 | Alain Bernard | align=left | {{flagIOC|FRA|2008 Summer}} | 47.20 | OR | WR |
August 13 | Semifinal 2 | Eamon Sullivan | align=left | {{flagIOC|AUS|2008 Summer}} | 47.05 | OR | WR |
align=left rowspan=1 | Men's 200 m freestyle
| August 12 | Final | Michael Phelps | align=left | {{flagIOC|USA|2008 Summer}} | 1:42.96 | OR | WR |
align=left rowspan=2 | Men's 1500 m freestyle
| August 15 | Heat 3 | Ryan Cochrane | align=left | {{flagIOC|CAN|2008 Summer}} | 14:40.84 | OR | |
August 15 | Heat 5 | Grant Hackett | align=left | {{flagIOC|AUS|2008 Summer}} | 14:38.92 | OR | |
align=left rowspan=4 | Men's 100 m backstroke
| August 10 | Heat 4 | Matt Grevers | align=left | {{flagIOC|USA|2008 Summer}} | 53.41 | OR | |
August 11 | Semifinal 1 | Arkady Vyatchanin | align=left | {{flagIOC|RUS|2008 Summer}} | 53.06 | OR | |
August 11 | Semifinal 2 | Hayden Stoeckel | align=left | {{flagIOC|AUS|2008 Summer}} | 52.97 | OR | |
August 12 | Final | Aaron Peirsol | align=left | {{flagIOC|USA|2008 Summer}} | 52.54 | OR | WR |
align=left rowspan=1 | Men's 200 m backstroke
| August 15 | Final | Ryan Lochte | align=left | {{flagIOC|USA|2008 Summer}} | 1:53.94 | OR | WR |
align=left rowspan=3 | Men's 100 m breaststroke
| August 9 | Heat 7 | Alexander Dale Oen | align=left | {{flagIOC|NOR|2008 Summer}} | 59.41 | OR | |
August 10 | Semifinal 2 | Alexander Dale Oen | align=left | {{flagIOC|NOR|2008 Summer}} | 59.16 | OR | |
August 11 | Final | Kosuke Kitajima | align=left | {{flagIOC|JPN|2008 Summer}} | 58.91 | OR | WR |
align=left rowspan=4 | Men's 200 m breaststroke
| August 12 | Heat 5 | Paolo Bossini | align=left | {{flagIOC|ITA|2008 Summer}} | 2:08.98 | OR | |
August 12 | Heat 7 | Dániel Gyurta | align=left | {{flagIOC|HUN|2008 Summer}} | 2:08.68 | OR | |
August 13 | Semifinal 1 | Kosuke Kitajima | align=left | {{flagIOC|JPN|2008 Summer}} | 2:08.61 | OR | |
August 14 | Final | Kosuke Kitajima | align=left | {{flagIOC|JPN|2008 Summer}} | 2:07.64 | OR | |
align=left rowspan=3 | Men's 100 m butterfly
| August 14 | Heat 7 | Jason Dunford | align=left | {{flagIOC|KEN|2008 Summer}} | 51.14 | OR | |
August 14 | Heat 9 | Milorad Čavić | align=left | {{flagIOC|SRB|2008 Summer}} | 50.76 | OR | |
August 16 | Final | Michael Phelps | align=left | {{flagIOC|USA|2008 Summer}} | 50.58 | OR | |
align=left rowspan=3 | Men's 200 m butterfly
| August 11 | Heat 6 | Michael Phelps | align=left | {{flagIOC|USA|2008 Summer}} | 1:53.70 | OR | |
August 12 | Semifinal 2 | Michael Phelps | align=left | {{flagIOC|USA|2008 Summer}} | 1:53.70 | =OR | |
August 13 | Final | Michael Phelps | align=left | {{flagIOC|USA|2008 Summer}} | 1:52.03 | OR | WR |
align=left rowspan=1 | Men's 200 m individual medley
| August 15 | Final | Michael Phelps | align=left | {{flagIOC|USA|2008 Summer}} | 1:54.23 | OR | WR |
align=left rowspan=2 | Men's 400 m individual medley
| August 9 | Heat 4 | Michael Phelps | align=left | {{flagIOC|USA|2008 Summer}} | 4:07.82 | OR | |
bgcolor=yellow| August 10 | Final | Michael Phelps | align=left | {{flagIOC|USA|2008 Summer}} | 4:03.84 | OR | WR |
align=left rowspan=2 | Men's 4×100 m freestyle relay
| August 10 | Heat 1 | Nathan Adrian Cullen Jones Ben Wildman-Tobriner Matt Grevers | align=left | {{flagIOC|USA|2008 Summer}} | 3:12.23 | OR | WR |
August 11 | Final | Michael Phelps Garrett Weber-Gale Cullen Jones Jason Lezak | align=left | {{flagIOC|USA|2008 Summer}} | 3:08.24 | OR | WR |
align=left rowspan=2 | Men's 4×200 m freestyle relay
| August 12 | Heat 2 | David Walters Ricky Berens Erik Vendt Klete Keller | align=left | {{flagIOC|USA|2008 Summer}} | 7:04.66 | OR | |
August 13 | Final | Michael Phelps Ryan Lochte Ricky Berens Peter Vanderkaay | align=left | {{flagIOC|USA|2008 Summer}} | 6:58.56 | OR | WR |
align=left rowspan=1 | Men's 4×100 m medley relay
| August 17 | Final | Aaron Peirsol Brendan Hansen Michael Phelps Jason Lezak | align=left | {{flagIOC|USA|2008 Summer}} | 3:29.34 | OR | WR |
rowspan=29 bgcolor=ffa0ff | Women's
| align=left rowspan=1 | Women's 50 m freestyle | August 17 | Final | Britta Steffen | align=left | {{flagIOC|GER|2008 Summer}} | 24.06 | OR | |
align=left rowspan=2 | Women's 100 m freestyle
| August 14 | 4×100 m freestyle relay Final lead off | Britta Steffen | align=left | {{flagIOC|GER|2008 Summer}} | 53.38 | OR | |
August 15 | Final | Britta Steffen | align=left | {{flagIOC|GER|2008 Summer}} | 53.12 | OR | |
align=left rowspan=4 | Women's 200 m freestyle
| August 11 | Heat 4 | Pang Jiaying | align=left | {{flagIOC|CHN|2008 Summer}} | 1:57.37 | OR | |
August 11 | Heat 5 | Sara Isakovic | align=left | {{flagIOC|SLO|2008 Summer}} | 1:55.86 | OR | |
August 11 | Heat 6 | Federica Pellegrini | align=left | {{flagIOC|ITA|2008 Summer}} | 1:55.45 | OR | WR |
August 13 | Final | Federica Pellegrini | align=left | {{flagIOC|ITA|2008 Summer}} | 1:54.82 | OR | WR |
align=left rowspan=2 | Women's 400 m freestyle
| August 10 | Heat 5 | Katie Hoff | align=left | {{flagIOC|USA|2008 Summer}} | 4:03.71 | OR | |
August 10 | Heat 6 | Federica Pellegrini | align=left | {{flagIOC|ITA|2008 Summer}} | 4:02.19 | OR | |
align=left rowspan=2 | Women's 800 m freestyle
| August 14 | Heat 4 | Rebecca Adlington | align=left | {{flagIOC|GBR|2008 Summer}} | 8:18.06 | OR | |
August 16 | Final | Rebecca Adlington | align=left | {{flagIOC|GBR|2008 Summer}} | 8:14.10 | OR | WR |
align=left rowspan=4 | Women's 100 m backstroke
| August 10 | Heat 5 | Anastasia Zuyeva | align=left | {{flagIOC|RUS|2008 Summer}} | 59.61 | OR | |
August 10 | Heat 6 | Reiko Nakamura | align=left | {{flagIOC|JPN|2008 Summer}} | 59.36 | OR | |
August 10 | Heat 7 | Kirsty Coventry | align=left | {{flagIOC|ZIM|2008 Summer}} | 59.00 | OR | |
August 11 | Semifinal 2 | Kirsty Coventry | align=left | {{flagIOC|ZIM|2008 Summer}} | 58.77 | OR | WR |
align=left rowspan=2 | Women's 200 m backstroke
| August 14 | Heat 4 | Kirsty Coventry | align=left | {{flagIOC|ZIM|2008 Summer}} | 2:06.76 | OR | |
August 16 | Final | Kirsty Coventry | align=left | {{flagIOC|ZIM|2008 Summer}} | 2:05.24 | OR | WR |
align=left rowspan=2 | Women's 100 m breaststroke
| August 10 | Heat 7 | Leisel Jones | align=left | {{flagIOC|AUS|2008 Summer}} | 1:05.64 | OR | |
August 12 | Final | Leisel Jones | align=left | {{flagIOC|AUS|2008 Summer}} | 1:05.17 | OR | |
align=left rowspan=2 | Women's 200 m breaststroke
| August 13 | Heat 5 | Rebecca Soni | align=left | {{flagIOC|USA|2008 Summer}} | 2:22.17 | OR | |
August 15 | Final | Rebecca Soni | align=left | {{flagIOC|USA|2008 Summer}} | 2:20.22 | OR | WR |
align=left rowspan=1 | Women's 200 m butterfly
| August 14 | Final | Liu Zige | align=left | {{flagIOC|CHN|2008 Summer}} | 2:04.18 | OR | WR |
align=left rowspan=2 | Women's 200 m individual medley
| August 12 | Semifinal 1 | Kirsty Coventry | align=left | {{flagIOC|ZIM|2008 Summer}} | 2:09.53 | OR | |
August 13 | Final | Stephanie Rice | align=left | {{flagIOC|AUS|2008 Summer}} | 2:08.45 | OR | WR |
align=left rowspan=1 | Women's 400 m individual medley
| August 10 | Final | Stephanie Rice | align=left | {{flagIOC|AUS|2008 Summer}} | 4:29.45 | OR | WR |
align=left rowspan=1 | Women's 4×100 m freestyle relay
| August 10 | Final | Inge Dekker Ranomi Kromowidjojo Femke Heemskerk Marleen Veldhuis | align=left | {{flagIOC|NED|2008 Summer}} | 3:33.76 | OR | |
align=left rowspan=2 | Women's 4×200 m freestyle relay
| August 13 | Heat 1 | Alena Popchanka Celine Couderc Camille Muffat Coralie Balmy | align=left | {{flagIOC|FRA|2008 Summer}} | 7:50.37 | OR | |
August 14 | Final | Stephanie Rice Bronte Barratt Kylie Palmer Linda Mackenzie | align=left | {{flagIOC|AUS|2008 Summer}} | 7:44.31 | OR | WR |
align=left rowspan=1 | Women's 4×100 m medley relay
| August 17 | Final | Emily Seebohm Leisel Jones Jessicah Schipper Libby Trickett | align=left | {{flagIOC|AUS|2008 Summer}} | 3:52.69 | OR | WR |
|}
Another example: 2008 Olympics Medal table
Note that the Rank column has a number of merged cells, but when the table is sorted, they are split, so that the table layout is not corrupted. If you sort by Rank again, previously merged cells are recombined. Also, if you sort a number of adjacent columns right to left (uch as Bronze, Silver, then Gold), cells are merged in all these columns. (That may not be desirable in all cases, but for this example, its been enabled.)
class="wikitable collapsible collapsed"
!Test procedure |
#Click sort icon in total column and observe results.
|
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" | |||||
align=center style="background:lightblue"| Click [Show] to view example--> | |||||
---|---|---|---|---|---|
align=center|
{| class="wikitable sortable plainrowheaders" style="text-align: center" | |||||
scope="col" | Rank
!scope="col" | Nation !scope="col" style="background-color:gold; width:6em;" | Gold !scope="col" style="background-color:silver; width:6em;" | Silver !scope="col" style="background-color:#cc9966; width:6em;" | Bronze !scope="col" style="width:6em;" | Total | |||||
bgcolor=ccccff
| 1 | align=left| {{flagIOCteam|CHN|2008 Summer}} | 51 | 21 | 28 | 100 |
2 | align=left| {{flagIOCteam|USA|2008 Summer}} | 36 | 38 | 36 | 110 |
3 | align=left| {{flagIOCteam|RUS|2008 Summer}} | 23 | 21 | 28 | 72 |
4 | align=left| {{flagIOCteam|GBR|2008 Summer}} | 19 | 13 | 15 | 47 |
5 | align=left| {{flagIOCteam|GER|2008 Summer}} | 16 | 10 | 15 | 41 |
6 | align=left| {{flagIOCteam|AUS|2008 Summer}} | 14 | 15 | 17 | 46 |
7 | align=left| {{flagIOCteam|KOR|2008 Summer}} | 13 | 10 | 8 | 31 |
8 | align=left| {{flagIOCteam|JPN|2008 Summer}} | 9 | 6 | 11 | 26 |
9 | align=left| {{flagIOCteam|ITA|2008 Summer}} | 8 | 10 | 10 | 28 |
10 | align=left| {{flagIOCteam|FRA|2008 Summer}} | 7 | 16 | 17 | 40 |
11 | align=left| {{flagIOCteam|UKR|2008 Summer}} | 7 | 5 | 15 | 27 |
12 | align=left| {{flagIOCteam|NED|2008 Summer}} | 7 | 5 | 4 | 16 |
13 | align=left| {{flagIOCteam|JAM|2008 Summer}} | 6 | 3 | 2 | 11 |
14 | align=left| {{flagIOCteam|ESP|2008 Summer}} | 5 | 10 | 3 | 18 |
15 | align=left| {{flagIOCteam|KEN|2008 Summer}} | 5 | 5 | 4 | 14 |
16 | align=left| {{flagIOCteam|BLR|2008 Summer}} | 4 | 4 | 9 | 17 |
17 | align=left| {{flagIOCteam|ROU|2008 Summer}} | 4 | 1 | 3 | 8 |
18 | align=left| {{flagIOCteam|ETH|2008 Summer}} | 4 | 1 | 2 | 7 |
19 | align=left| {{flagIOCteam|CAN|2008 Summer}} | 3 | 9 | 6 | 18 |
20 | align=left| {{flagIOCteam|HUN|2008 Summer}} | 3 | 6 | 2 | 11 |
21 | align=left| {{flagIOCteam|POL|2008 Summer}} | 3 | 6 | 1 | 10 |
22 | align=left| {{flagIOCteam|NOR|2008 Summer}} | 3 | 5 | 1 | 9 |
23 | align=left| {{flagIOCteam|BRA|2008 Summer}} | 3 | 4 | 8 | 15 |
24 | align=left| {{flagIOCteam|CZE|2008 Summer}} | 3 | 3 | 0 | 6 |
25 | align=left| {{flagIOCteam|SVK|2008 Summer}} | 3 | 2 | 1 | 6 |
26 | align=left| {{flagIOCteam|NZL|2008 Summer}} | 3 | 1 | 5 | 9 |
27 | align=left| {{flagIOCteam|GEO|2008 Summer}} | 3 | 0 | 3 | 6 |
28 | align=left| {{flagIOCteam|CUB|2008 Summer}} | 2 | 11 | 11 | 24 |
29 | align=left| {{flagIOCteam|KAZ|2008 Summer}} | 2 | 4 | 7 | 13 |
30 | align=left| {{flagIOCteam|DEN|2008 Summer}} | 2 | 2 | 3 | 7 |
rowspan=2| 31 | align=left| {{flagIOCteam|MGL|2008 Summer}} | 2 | 2 | 0 | 4 |
align=left| {{flagIOCteam|THA|2008 Summer}} | 2 | 2 | 0 | 4 | |
33 | align=left| {{flagIOCteam|PRK|2008 Summer}} | 2 | 1 | 3 | 6 |
34 | align=left| {{flagIOCteam|SUI|2008 Summer}} | 2 | 0 | 5 | 7 |
35 | align=left| {{flagIOCteam|ARG|2008 Summer}} | 2 | 0 | 4 | 6 |
36 | align=left| {{flagIOCteam|MEX|2008 Summer}} | 2 | 0 | 1 | 3 |
37 | align=left| {{flagIOCteam|TUR|2008 Summer}} | 1 | 4 | 3 | 8 |
38 | align=left| {{flagIOCteam|ZIM|2008 Summer}} | 1 | 3 | 0 | 4 |
39 | align=left| {{flagIOCteam|AZE|2008 Summer}} | 1 | 2 | 4 | 7 |
40 | align=left| {{flagIOCteam|UZB|2008 Summer}} | 1 | 2 | 3 | 6 |
41 | align=left| {{flagIOCteam|SLO|2008 Summer}} | 1 | 2 | 2 | 5 |
rowspan=2| 42 | align=left| {{flagIOCteam|BUL|2008 Summer}} | 1 | 1 | 3 | 5 |
align=left| {{flagIOCteam|INA|2008 Summer}} | 1 | 1 | 3 | 5 | |
44 | align=left| {{flagIOCteam|FIN|2008 Summer}} | 1 | 1 | 2 | 4 |
45 | align=left| {{flagIOCteam|LAT|2008 Summer}} | 1 | 1 | 1 | 3 |
rowspan=4| 46 | align=left| {{flagIOCteam|BEL|2008 Summer}} | 1 | 1 | 0 | 2 |
align=left| {{flagIOCteam|DOM|2008 Summer}} | 1 | 1 | 0 | 2 | |
align=left| {{flagIOCteam|EST|2008 Summer}} | 1 | 1 | 0 | 2 | |
align=left| {{flagIOCteam|POR|2008 Summer}} | 1 | 1 | 0 | 2 | |
50 | align=left| {{flagIOCteam|IND|2008 Summer}} | 1 | 0 | 2 | 3 |
51 | align=left| {{flagIOCteam|IRI|2008 Summer}} | 1 | 0 | 1 | 2 |
rowspan=4| 52 | align=left| {{flagIOCteam|BRN|2008 Summer}} | 1 | 0 | 0 | 1 |
align=left| {{flagIOCteam|CMR|2008 Summer}} | 1 | 0 | 0 | 1 | |
align=left| {{flagIOCteam|PAN|2008 Summer}} | 1 | 0 | 0 | 1 | |
align=left| {{flagIOCteam|TUN|2008 Summer}} | 1 | 0 | 0 | 1 | |
56 | align=left| {{flagIOCteam|SWE|2008 Summer}} | 0 | 4 | 1 | 5 |
rowspan=2| 57 | align=left| {{flagIOCteam|CRO|2008 Summer}} | 0 | 2 | 3 | 5 |
align=left| {{flagIOCteam|LTU|2008 Summer}} | 0 | 2 | 3 | 5 | |
59 | align=left| {{flagIOCteam|GRE|2008 Summer}} | 0 | 2 | 2 | 4 |
60 | align=left| {{flagIOCteam|TRI|2008 Summer}} | 0 | 2 | 0 | 2 |
61 | align=left| {{flagIOCteam|NGR|2008 Summer}} | 0 | 1 | 3 | 4 |
rowspan=3| 62 | align=left| {{flagIOCteam|AUT|2008 Summer}} | 0 | 1 | 2 | 3 |
align=left| {{flagIOCteam|IRL|2008 Summer}} | 0 | 1 | 2 | 3 | |
align=left| {{flagIOCteam|SRB|2008 Summer}} | 0 | 1 | 2 | 3 | |
rowspan=6| 65 | align=left| {{flagIOCteam|ALG|2008 Summer}} | 0 | 1 | 1 | 2 |
align=left| {{flagIOCteam|BAH|2008 Summer}} | 0 | 1 | 1 | 2 | |
align=left| {{flagIOCteam|COL|2008 Summer}} | 0 | 1 | 1 | 2 | |
align=left| {{flagIOCteam|KGZ|2008 Summer}} | 0 | 1 | 1 | 2 | |
align=left| {{flagIOCteam|MAR|2008 Summer}} | 0 | 1 | 1 | 2 | |
align=left| {{flagIOCteam|TJK|2008 Summer}} | 0 | 1 | 1 | 2 | |
rowspan=8| 71 | align=left| {{flagIOCteam|CHI|2008 Summer}} | 0 | 1 | 0 | 1 |
align=left| {{flagIOCteam|ECU|2008 Summer}} | 0 | 1 | 0 | 1 | |
align=left| {{flagIOCteam|ISL|2008 Summer}} | 0 | 1 | 0 | 1 | |
align=left| {{flagIOCteam|MAS|2008 Summer}} | 0 | 1 | 0 | 1 | |
align=left| {{flagIOCteam|RSA|2008 Summer}} | 0 | 1 | 0 | 1 | |
align=left| {{flagIOCteam|SIN|2008 Summer}} | 0 | 1 | 0 | 1 | |
align=left| {{flagIOCteam|SUD|2008 Summer}} | 0 | 1 | 0 | 1 | |
align=left| {{flagIOCteam|VIE|2008 Summer}} | 0 | 1 | 0 | 1 | |
79 | align=left| {{flagIOCteam|ARM|2008 Summer}} | 0 | 0 | 6 | 6 |
80 | align=left| {{flagIOCteam|TPE|2008 Summer}} | 0 | 0 | 4 | 4 |
rowspan=7| 81 | align=left| {{flagIOCteam|AFG|2008 Summer}} | 0 | 0 | 1 | 1 |
align=left| {{flagIOCteam|EGY|2008 Summer}} | 0 | 0 | 1 | 1 | |
align=left| {{flagIOCteam|ISR|2008 Summer}} | 0 | 0 | 1 | 1 | |
align=left| {{flagIOCteam|MDA|2008 Summer}} | 0 | 0 | 1 | 1 | |
align=left| {{flagIOCteam|MRI|2008 Summer}} | 0 | 0 | 1 | 1 | |
align=left| {{flagIOCteam|TOG|2008 Summer}} | 0 | 0 | 1 | 1 | |
align=left| {{flagIOCteam|VEN|2008 Summer}} | 0 | 0 | 1 | 1 | |
class="sortbottom"
!colspan=2| Total | 302 | 303 | 353 | 958 |
|}
Another example: 2008 Olympics Medal table (with multirow header)
Note that the Rank column has a number of merged cells, but when the table is sorted, they are split, so that the table layout is not corrupted. If you sort by Rank again, previously merged cells are recombined. Also, if you sort a number of adjacent columns right to left (uch as Bronze, Silver, then Gold), cells are merged in all these columns. (That may not be desirable in all cases, but for this example, its been enabled.)
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" | |||||
align=center style="background:lightblue"| Click [Show] to view example--> | |||||
---|---|---|---|---|---|
align=center|
{| class="wikitable tsx_sortable autorowspan" style="text-align:center" | |||||
colspan=6 class="unsortable"|2008 Olympics Medal table | |||||
rowspan=2|Rank | rowspan=2|Nation | colspan=3|Medals | rowspan=2 class="autorowspan"|Total | ||
class="sortheader"
|bgcolor=gold|Gold | bgcolor=silver|Silver | bgcolor=cc9966|Bronze | |||
bgcolor=ccccff
| 1 | align=left| {{flagIOCteam|CHN|2008 Summer}} | 51 | 21 | 28 | 100 |
2 | align=left| {{flagIOCteam|USA|2008 Summer}} | 36 | 38 | 36 | 110 |
3 | align=left| {{flagIOCteam|RUS|2008 Summer}} | 23 | 21 | 28 | 72 |
4 | align=left| {{flagIOCteam|GBR|2008 Summer}} | 19 | 13 | 15 | 47 |
5 | align=left| {{flagIOCteam|GER|2008 Summer}} | 16 | 10 | 15 | 41 |
6 | align=left| {{flagIOCteam|AUS|2008 Summer}} | 14 | 15 | 17 | 46 |
7 | align=left| {{flagIOCteam|KOR|2008 Summer}} | 13 | 10 | 8 | 31 |
8 | align=left| {{flagIOCteam|JPN|2008 Summer}} | 9 | 6 | 11 | 26 |
9 | align=left| {{flagIOCteam|ITA|2008 Summer}} | 8 | 10 | 10 | 28 |
10 | align=left| {{flagIOCteam|FRA|2008 Summer}} | 7 | 16 | 17 | 40 |
11 | align=left| {{flagIOCteam|UKR|2008 Summer}} | 7 | 5 | 15 | 27 |
12 | align=left| {{flagIOCteam|NED|2008 Summer}} | 7 | 5 | 4 | 16 |
13 | align=left| {{flagIOCteam|JAM|2008 Summer}} | 6 | 3 | 2 | 11 |
14 | align=left| {{flagIOCteam|ESP|2008 Summer}} | 5 | 10 | 3 | 18 |
15 | align=left| {{flagIOCteam|KEN|2008 Summer}} | 5 | 5 | 4 | 14 |
16 | align=left| {{flagIOCteam|BLR|2008 Summer}} | 4 | 4 | 9 | 17 |
17 | align=left| {{flagIOCteam|ROU|2008 Summer}} | 4 | 1 | 3 | 8 |
18 | align=left| {{flagIOCteam|ETH|2008 Summer}} | 4 | 1 | 2 | 7 |
19 | align=left| {{flagIOCteam|CAN|2008 Summer}} | 3 | 9 | 6 | 18 |
20 | align=left| {{flagIOCteam|HUN|2008 Summer}} | 3 | 6 | 2 | 11 |
21 | align=left| {{flagIOCteam|POL|2008 Summer}} | 3 | 6 | 1 | 10 |
22 | align=left| {{flagIOCteam|NOR|2008 Summer}} | 3 | 5 | 1 | 9 |
23 | align=left| {{flagIOCteam|BRA|2008 Summer}} | 3 | 4 | 8 | 15 |
24 | align=left| {{flagIOCteam|CZE|2008 Summer}} | 3 | 3 | 0 | 6 |
25 | align=left| {{flagIOCteam|SVK|2008 Summer}} | 3 | 2 | 1 | 6 |
26 | align=left| {{flagIOCteam|NZL|2008 Summer}} | 3 | 1 | 5 | 9 |
27 | align=left| {{flagIOCteam|GEO|2008 Summer}} | 3 | 0 | 3 | 6 |
28 | align=left| {{flagIOCteam|CUB|2008 Summer}} | 2 | 11 | 11 | 24 |
29 | align=left| {{flagIOCteam|KAZ|2008 Summer}} | 2 | 4 | 7 | 13 |
30 | align=left| {{flagIOCteam|DEN|2008 Summer}} | 2 | 2 | 3 | 7 |
class="unsortable"
!Rank!!Nation | bgcolor=gold|Gold | bgcolor=silver|Silver | bgcolor=cc9966|Bronze!!Total | ||
rowspan=2| 31 | align=left| {{flagIOCteam|MGL|2008 Summer}} | 2 | 2 | 0 | 4 |
align=left| {{flagIOCteam|THA|2008 Summer}} | 2 | 2 | 0 | 4 | |
33 | align=left| {{flagIOCteam|PRK|2008 Summer}} | 2 | 1 | 3 | 6 |
34 | align=left| {{flagIOCteam|SUI|2008 Summer}} | 2 | 0 | 5 | 7 |
35 | align=left| {{flagIOCteam|ARG|2008 Summer}} | 2 | 0 | 4 | 6 |
36 | align=left| {{flagIOCteam|MEX|2008 Summer}} | 2 | 0 | 1 | 3 |
37 | align=left| {{flagIOCteam|TUR|2008 Summer}} | 1 | 4 | 3 | 8 |
38 | align=left| {{flagIOCteam|ZIM|2008 Summer}} | 1 | 3 | 0 | 4 |
39 | align=left| {{flagIOCteam|AZE|2008 Summer}} | 1 | 2 | 4 | 7 |
40 | align=left| {{flagIOCteam|UZB|2008 Summer}} | 1 | 2 | 3 | 6 |
41 | align=left| {{flagIOCteam|SLO|2008 Summer}} | 1 | 2 | 2 | 5 |
rowspan=2| 42 | align=left| {{flagIOCteam|BUL|2008 Summer}} | 1 | 1 | 3 | 5 |
align=left| {{flagIOCteam|INA|2008 Summer}} | 1 | 1 | 3 | 5 | |
44 | align=left| {{flagIOCteam|FIN|2008 Summer}} | 1 | 1 | 2 | 4 |
45 | align=left| {{flagIOCteam|LAT|2008 Summer}} | 1 | 1 | 1 | 3 |
rowspan=4| 46 | align=left| {{flagIOCteam|BEL|2008 Summer}} | 1 | 1 | 0 | 2 |
align=left| {{flagIOCteam|DOM|2008 Summer}} | 1 | 1 | 0 | 2 | |
align=left| {{flagIOCteam|EST|2008 Summer}} | 1 | 1 | 0 | 2 | |
align=left| {{flagIOCteam|POR|2008 Summer}} | 1 | 1 | 0 | 2 | |
50 | align=left| {{flagIOCteam|IND|2008 Summer}} | 1 | 0 | 2 | 3 |
51 | align=left| {{flagIOCteam|IRI|2008 Summer}} | 1 | 0 | 1 | 2 |
rowspan=4| 52 | align=left| {{flagIOCteam|BRN|2008 Summer}} | 1 | 0 | 0 | 1 |
align=left| {{flagIOCteam|CMR|2008 Summer}} | 1 | 0 | 0 | 1 | |
align=left| {{flagIOCteam|PAN|2008 Summer}} | 1 | 0 | 0 | 1 | |
align=left| {{flagIOCteam|TUN|2008 Summer}} | 1 | 0 | 0 | 1 | |
56 | align=left| {{flagIOCteam|SWE|2008 Summer}} | 0 | 4 | 1 | 5 |
rowspan=2| 57 | align=left| {{flagIOCteam|CRO|2008 Summer}} | 0 | 2 | 3 | 5 |
align=left| {{flagIOCteam|LTU|2008 Summer}} | 0 | 2 | 3 | 5 | |
59 | align=left| {{flagIOCteam|GRE|2008 Summer}} | 0 | 2 | 2 | 4 |
60 | align=left| {{flagIOCteam|TRI|2008 Summer}} | 0 | 2 | 0 | 2 |
class="unsortable"
!Rank!!Nation | bgcolor=gold|Gold | bgcolor=silver|Silver | bgcolor=cc9966|Bronze!!Total | ||
61 | align=left| {{flagIOCteam|NGR|2008 Summer}} | 0 | 1 | 3 | 4 |
rowspan=3| 62 | align=left| {{flagIOCteam|AUT|2008 Summer}} | 0 | 1 | 2 | 3 |
align=left| {{flagIOCteam|IRL|2008 Summer}} | 0 | 1 | 2 | 3 | |
align=left| {{flagIOCteam|SRB|2008 Summer}} | 0 | 1 | 2 | 3 | |
rowspan=6| 65 | align=left| {{flagIOCteam|ALG|2008 Summer}} | 0 | 1 | 1 | 2 |
align=left| {{flagIOCteam|BAH|2008 Summer}} | 0 | 1 | 1 | 2 | |
align=left| {{flagIOCteam|COL|2008 Summer}} | 0 | 1 | 1 | 2 | |
align=left| {{flagIOCteam|KGZ|2008 Summer}} | 0 | 1 | 1 | 2 | |
align=left| {{flagIOCteam|MAR|2008 Summer}} | 0 | 1 | 1 | 2 | |
align=left| {{flagIOCteam|TJK|2008 Summer}} | 0 | 1 | 1 | 2 | |
rowspan=8| 71 | align=left| {{flagIOCteam|CHI|2008 Summer}} | 0 | 1 | 0 | 1 |
align=left| {{flagIOCteam|ECU|2008 Summer}} | 0 | 1 | 0 | 1 | |
align=left| {{flagIOCteam|ISL|2008 Summer}} | 0 | 1 | 0 | 1 | |
align=left| {{flagIOCteam|MAS|2008 Summer}} | 0 | 1 | 0 | 1 | |
align=left| {{flagIOCteam|RSA|2008 Summer}} | 0 | 1 | 0 | 1 | |
align=left| {{flagIOCteam|SIN|2008 Summer}} | 0 | 1 | 0 | 1 | |
align=left| {{flagIOCteam|SUD|2008 Summer}} | 0 | 1 | 0 | 1 | |
align=left| {{flagIOCteam|VIE|2008 Summer}} | 0 | 1 | 0 | 1 | |
79 | align=left| {{flagIOCteam|ARM|2008 Summer}} | 0 | 0 | 6 | 6 |
80 | align=left| {{flagIOCteam|TPE|2008 Summer}} | 0 | 0 | 4 | 4 |
rowspan=7| 81 | align=left| {{flagIOCteam|AFG|2008 Summer}} | 0 | 0 | 1 | 1 |
align=left| {{flagIOCteam|EGY|2008 Summer}} | 0 | 0 | 1 | 1 | |
align=left| {{flagIOCteam|ISR|2008 Summer}} | 0 | 0 | 1 | 1 | |
align=left| {{flagIOCteam|MDA|2008 Summer}} | 0 | 0 | 1 | 1 | |
align=left| {{flagIOCteam|MRI|2008 Summer}} | 0 | 0 | 1 | 1 | |
align=left| {{flagIOCteam|TOG|2008 Summer}} | 0 | 0 | 1 | 1 | |
align=left| {{flagIOCteam|VEN|2008 Summer}} | 0 | 0 | 1 | 1 | |
class="sortbottom"
!colspan=2| Total | 302 | 303 | 353 | 958 |
|}
What happens when rowspan and colspan conflict
Overlapping row spans and column spans are invalid in HTML and are not supported by the updated sortable script. These examples are included just to see how they render.
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" | ||
align=center style="background:lightblue"| Click [Show] to view examples --> | ||
---|---|---|
align=center|
{| class="wikitable" style="text-align:center" | ||
AA | BB | CC |
TL | rowspan='3' bgcolor=gold | Center Center Center Center | TR |
colspan='3' bgcolor=silver | Middle | ||
BL | BR | |
BL2 | BC | BR2 |
class="wikitable" style="text-align:center" | ||
AA | BB | CC |
---|---|---|
TL | rowspan='3' bgcolor=gold | Center Center Center Center | TR |
colspan='3' bgcolor=silver | Middle Middle Middle | ||
BL | BR | |
BL2 | BC | BR2 |
|}
Examples from [[Help talk:Sorting]]
... plus a small sample of mainspace articles that currently have sorting problems.
= Example 1 =
From Statewide opinion polling for the Democratic Party presidential primaries, 2008#Delegate table and polling data referenced from Help talk:Sorting#Rows/headers above sortable row.
Demonstrates multi-row headers with rowspans and fixed (unsortable) footer.
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" |
align=center style="background:lightblue"| Click [Show] to view example--> |
---|
align=center|
{| class="wikitable" |
bgcolor=#f5f5f5
|Indicates a state or territory that has not yet held a caucus or primary or whose polling data has not been made available. All data is based on recent surveys. |
--- |
bgcolor=#e6e6e6
|Indicates a state or territory that has held a caucus, primary, or convention. |
class="wikitable tsx_sortable" |
bgcolor=#cdcdcd
!rowspan=2|Date !rowspan=2|State !rowspan=2|Delegates !colspan=3 class="unsortable"|Polling Data !colspan=3 class="unsortable"|Delegates Won |
bgcolor=#cdcdcd
!Hillary Clinton !Barack Obama !Uncommitted/other !Hillary Clinton !Barack Obama !Other |
--- |
bgcolor=#e6e6e6
|Iowa |45 |29% |38% |33% |14 |24 |7 |
--- |
bgcolor=#e6e6e6
|22 |39% |36% |24% |9 |9 |4 |
--- |
bgcolor=#e6e6e6
|Michigan1 |128 |55% | -† |45% |73 |55 |0 |
--- |
bgcolor=#e6e6e6
|25 |51% |45% |4% |11 |14 |0 |
--- |
bgcolor=#e6e6e6
|45 |27% |55% |18% |12 |25 |8 |
--- |
bgcolor=#e6e6e6
|Florida1 |185 |50% |33% |17% |105 |67 |13 |
--- |
bgcolor=#e6e6e6
|52 |42% |56% |2% |25 |27 |0 |
--- |
bgcolor=#e6e6e6
|13 |25% |75% |0% |4 |9 |0 |
--- |
bgcolor=#e6e6e6
|3 |57% |43% |0% |2 |1 |0 |
--- |
bgcolor=#e6e6e6
|56 |51% |42% |7% |31 |25 |0 |
--- |
bgcolor=#e6e6e6
|35 |70% |27% |3% |27 |8 |0 |
--- |
bgcolor=#e6e6e6
|370 |52% |43% |6% |204 |166 |0 |
--- |
bgcolor=#e6e6e6
|55 |32% |67% |1% |20 |35 |0 |
--- |
bgcolor=#e6e6e6
|48 |47% |51% |2% |22 |26 |0 |
--- |
bgcolor=#e6e6e6
|15 |43% |53% |4% |6 |9 |0 |
--- |
bgcolor=#e6e6e6
|87 |31% |67% |2% |27 |60 |0 |
--- |
bgcolor=#e6e6e6
|18 |17% |79% |1% |3 |15 |0 |
--- |
bgcolor=#e6e6e6
|153 |33% |65% |2% |49 |104 |0 |
--- |
bgcolor=#e6e6e6
|32 |26% |74% |0% |9 |23 |0 |
--- |
bgcolor=#e6e6e6
|93 |56% |41% |3% |55 |38 |0 |
--- |
bgcolor=#e6e6e6
|72 |32% |67% |1% |24 |48 |0 |
--- |
bgcolor=#e6e6e6
|72 |48% |49% |3% |36 |36 |0 |
--- |
bgcolor=#e6e6e6
|107 |54% |44% |2% |59 |48 |0 |
--- |
bgcolor=#e6e6e6
|26 |49% |48% |3% |14 |12 |0 |
--- |
bgcolor=#e6e6e6
|232 |57% |40% |3% |139 |93 |0 |
--- |
bgcolor=#e6e6e6
|13 |37% |61% |2% |5 |8 |0 |
--- |
bgcolor=#e6e6e6
|38 |55% |31% |14% |24 |14 |0 |
--- |
bgcolor=#e6e6e6
|68 |54% |41% |5% |40 |28 |0 |
--- |
bgcolor=#e6e6e6
|Utah |23 |39% |57% |4% |9 |14 |0 |
--- |
bgcolor=#e6e6e6
|56 |36% |57% |7% |22 |34 |0 |
--- |
bgcolor=#e6e6e6
|24 |32% |68% |0% |8 |16 |0 |
--- |
bgcolor=#e6e6e6
|3 |8% |92% |0% |0 |3 |0 |
--- |
bgcolor=#e6e6e6
|78 |31% |'''68% |1% |26 |52 |0 |
--- |
bgcolor=#e6e6e6
|24 |40% |59% |1% |9 |15 |0 |
--- |
bgcolor=#e6e6e6
|7 |33% |66% |1% |2.5 |4.5 |0 |
--- |
bgcolor=#e6e6e6
|15 |24% |75% |1% |3 |12 |0 |
--- |
bgcolor=#e6e6e6
|70 |36% |61% |3% |28 |42 |0 |
--- |
bgcolor=#e6e6e6
|83 |35% |64% |1% |29 |54 |0 |
--- |
bgcolor=#e6e6e6
|20 |24% |76% |0% |6 |14 |0 |
--- |
bgcolor=#e6e6e6
|74 |41% |58% |1% |32 |42 |0 |
--- |
bgcolor=#e6e6e6
|Ohio |141 |54% |44% |2% |75 |66 |0 |
--- |
bgcolor=#e6e6e6
|21 |58% |40% |2% |13 |8 |0 |
--- |
bgcolor=#e6e6e6
|126 |51% |47% |2% |65 |61 |0 |
--- |
bgcolor=#e6e6e6
|67 |44% |56% |0% |30 |37 |0 |
--- |
bgcolor=#e6e6e6
|15 |39% |59% |2% |6 |9 |0 |
--- |
bgcolor=#e6e6e6
|12 |38% |61% |1% |5 |7 |0 |
--- |
bgcolor=#e6e6e6
|33 |37% |61% |2% |14 |19 |0 |
--- |
bgcolor=#e6e6e6
|158 |55% |45% |0% |85 |73 |0 |
--- |
bgcolor=#e6e6e6
|Guam |4 |50% |50% |0% |2 |2 |0 |
--- |
bgcolor=#e6e6e6
|72 |51% |49% |0% |39 |33 |0 |
--- |
bgcolor=#e6e6e6
|115 |42% |56% |2% |50 |65 |0 |
--- |
bgcolor=#e6e6e6
|28 |67% |26% |7% |20 |8 |0 |
--- |
bgcolor=#e6e6e6
|51 |65% |30% |5% |37 |14 |0 |
--- |
bgcolor=#e6e6e6
|52 |41% |58% |1% |21 |31 |0 |
--- |
bgcolor=#e6e6e6
|55 |68% |32% |1% |38 |17 |0 |
--- |
bgcolor=#e6e6e6
|16 |41% |56% |3% |7 |9 | |
--- |
bgcolor=#e6e6e6
|15 |55% |45% |0% |9 |6 | |
--- |
bgcolor=#cdcdcd class="unsortable"
|Total | |3,545 | | | |1,744.5 |1,787.5 |32 |
--- |
† Barack Obama was not on the ballot in Michigan.
- On 24 August, the DNC gave Florida and Michigan full voting rights.
|}
= Example 2 =
Example from Help talk:Sorting#Can this be got working?
Demonstrates multi-row headers with rowspans and colspans.
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" |
align=center style="background:lightblue"| Click [Show] to view example --> |
---|
align=center|
{|class="wikitable tsx_sortable" |
rowspan=2| Vehicle
!colspan=3 class="unsortable" | fuel consumption !colspan=2 class="unsortable" | max. speed !colspan=2 class="unsortable" | max. power |
l/100 km
! mpg (imp) ! mpg (US) ! km/h ! mph ! kW ! hp |
my car
|align=right|12 |align=right|24 |align=right|20 |align=right|160 |align=right|100 |align=right|300 |align=right|400 |
your car
|align=right|20 |align=right|14 |align=right|12 |align=right|120 |align=right|75 |align=right|150 |align=right|200 |
his car
|align=right|24 |align=right|12 |align=right|10 |align=right|800 |align=right|500 |align=right|900 |align=right|1,200 |
her car
|align=right|10 |align=right|29 |align=right|24 |align=right|80 |align=right|50 |align=right|90 |align=right|120 |
|}
= Example 3 =
From List of Colorado Avalanche players#Goaltenders referenced from m:Help talk:Sorting#Table with colspanned cells.
Demonstrates multi-row headers with rowspans and colspans.
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" | ||||||||||||||||
align=center style="background:lightblue"| Click [Show] to view example --> | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
align=center|
{| class="wikitable tsx_sortable" | ||||||||||||||||
rowspan="2"|Name
!rowspan="2"|Nat !rowspan="2"|Seasons !colspan="7" class="unsortable"|Regular season !colspan="6" class="unsortable"|Playoffs !rowspan="2"|Notes | ||||||||||||||||
GP | W | L | T/OTL | SO | GAA | SV% | GP | W | L | SO | GAA | SV% | ||||
bgcolor="#CFECEC" | {{flag|Switzerland}} | 2000–2006 | 174 | 89 | 58 | 14 | 13 | 2.35 | .915 | 13 | 6 | 5 | 1 | 2.07 | .922 | SC 2001 |
Billington, Craig | {{flag|Canada}} | 1996–1999 | 67 | 30 | 23 | 7 | 2 | 2.61 | .910 | 3 | 0 | 0 | 0 | 4.00 | .895 | |
bgcolor="#CCFFCC" | {{flag|Slovakia}} | 2005–2009 | 126 | 61 | 36 | 16 | 5 | 2.70 | .903 | 3 | 0 | 0 | 0 | 3.35 | .908 | |
Denis, Marc | {{flag|Canada}} | 1996–2000 | 28 | 10 | 10 | 4 | 3 | 2.55 | .916 | {{Sort|0|—}}{{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | |
bgcolor="#CFECEC" | {{flag|Canada}} | 1995–1996 | 37 | 22 | 6 | 7 | 1 | 2.93 | .898 | 1 | 0 | 0 | 0 | 0.00 | 1.000 | SC 1996 |
Kolesnik, Vitaly | {{flag|Kazakhstan}} | 2005–2006 | 8 | 3 | 3 | 0 | 0 | 3.24 | .888 | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | |
bgcolor="#CCFFCC" | {{flag|Canada}} | 2008–2009 | colspan="14"|{{sort|0|Made Avalanche debut in 2008–09}} | |||||||||||||
bgcolor="#CFECEC" | {{flag|Canada}} | 1995–2003 | 478 | 262 | 140 | 65 | 37 | 2.27 | .918 | 133 | 81 | 52 | 18 | 2.18 | .922 | SC 1996, 2001 Ret #33 HHOF 2006 |
Salo, Tommy | {{flag|Sweden}} | 2003–2004 | 5 | 1 | 3 | 1 | 0 | 2.37 | .912 | 1 | 0 | 0 | 0 | 0.00 | 1.000 | |
Sauve, Philippe | {{flag|United States}} | 2003–2004 | 17 | 7 | 7 | 3 | 0 | 3.04 | .896 | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | |
Tabaracci, Rick | {{flag|Canada}} | 1999–2000 | 2 | 1 | 0 | 0 | 0 | 2.00 | .889 | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | |
Theodore, Jose | {{flag|Canada}} | 2005–2008 | 91 | 42 | 39 | 5 | 3 | 2.76 | .902 | 19 | 8 | 11 | 0 | 3.09 | .904 | |
Thibault, Jocelyn | {{flag|Canada}} | 1995–1996 | 10 | 3 | 4 | 2 | 0 | 3.01 | .874 | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | |
|Weiman, Tyler | {{flag|Canada}} | 2007–2008 | 1 | 0 | 0 | 0 | 0 | 0.0 | 1.000 | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} | {{Sort|0|—}} |
|}
= Example 4 =
From Comparison of email clients#Protocol support referenced from m:Help talk:Sorting#problem with 2 row - header - table.
Demonstrates multi-row headers with rowspans and colspans. Sort icons are suppressed on some header cells. Also changed "sortbottom" to "unsortable" to stablize the footer rows.
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" |
align=center style="background:lightblue"| Click [Show] to view example --> |
---|
align=center|
{| class="wikitable tsx_sortable" style="width: auto; text-align: center; font-size: smaller; table-layout: fixed;" |
rowspan="2" style="width:12em" | Client
! colspan="3" class="unsortable"| POP3 ! rowspan="2" | IMAP4 ! rowspan="2" | SMTP ! rowspan="2" | NNTP ! colspan="2" class="unsortable" | LDAP ! rowspan="2" | IMSP ! rowspan="2" | ACAP ! colspan="4" class="unsortable" | Feeds ! rowspan="2" | iCalendar |
fetch all messages
! selected by filter ! selected by user ! v2 ! v3 ! RSS 0.91 ! RSS 1.0 ! RSS 2.0 ! ATOM |
@Mail
| {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
Alpine
| {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{Yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
Citadel
| {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
Claws Mail
| {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{dunno}} | {{dunno}} | {{no}} | {{yes}} {{ref|Claws|†}} | {{yes}} {{ref|Claws|†}} | {{yes}} {{ref|Claws|†}} | {{yes}} {{ref|Claws2|†}} |
Cone
| {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
Correo
| {{yes}} | {{dunno}} | {{dunno}} | {{yes}} | {{yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
Courier
| {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{no}} | {{yes}} | {{yes}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
Elm
| {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
Eudora
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{no}} | {{yes}} | {{yes}} | {{no}} | {{yes}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
Eureka Email
| {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
Gnus
| {{yes}} | {{yes}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{no}} {{ref|GnusLDAP|†}} | {{no}} {{ref|GnusLDAP|†}} | {{dunno}} | {{dunno}} | {{yes}} | {{yes}} | {{yes}} | {{no}} | {{dunno}} |
GroupWise
| {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
i.Scribe / InScribe
| {{yes}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{no}} | {{yes}} {{ref|plugin|†}} | {{yes}} {{ref|plugin|†}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
IBM Lotus Notes
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{no}} | {{no}} | {{yes}} {{ref|NotesRSS|†}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} |
Kerio WebMail
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{dunno}} | {{dunno}} | {{no}} | {{no}} | {{no}} | {{no}} | {{yes}} |
KMail
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{no}} {{ref|KDENNTP|†}} | {{yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{no}} {{ref|KDEFeeds|†}} | {{no}} {{ref|KDEFeeds|†}} | {{no}} {{ref|KDEFeeds|†}} | {{no}} {{ref|KDEFeeds|†}} | {{no}} {{ref|KDEiCal|†}} |
Mail
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{no}} | {{yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{no}} |
Mailsmith
| {{yes}} | {{dunno}} | {{yes}} | {{no}} | {{yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
Microsoft Entourage
| {{yes}} | {{dunno}} | {{dunno}} | {{yes}} | {{yes}} | {{Yes}} | {{No}} | {{Yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{Yes}} |
Microsoft Office Outlook
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{no}} | {{yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{Yes}} {{ref|OutlookFeeds|†}} | {{Yes}} {{ref|OutlookFeeds|†}} | {{Yes}} {{ref|OutlookFeeds|†}} | {{Yes}} {{ref|OutlookFeeds|†}} | {{partial|Yes}} {{ref|OutlookiCal|†}} |
Mozilla Mail & Newsgroups
| {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
Mozilla Thunderbird
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{partial}} | {{dunno}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} {{ref|MTB|†}} |
Mulberry
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{no}} | {{yes}} | {{dunno}} | {{yes}} | {{yes}} | {{no}} | {{no}} | {{no}} | {{no}} | {{yes}} |
Mutt
| {{yes}} | style="background: #ffffdd;" | No (possible with POP3 browser) | style="background: #ffffdd;" | No (possible with POP3 browser) | {{yes}} | {{yes}} | {{no}} (slrn looks alike) | {{partial}} (resolve real names through NSS) | {{dunno}} | {{dunno}} | {{dunno}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
Netscape Messenger
| {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
Netscape Messenger 9
| {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
nmh / MH
| {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
Novell Evolution
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{no}} | {{no}} | {{no}} | {{no}} | {{yes}} |
Open-Xchange
| {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
Opera Mail
| {{yes}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{no}} | {{no}} | {{dunno}} | {{dunno}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{no}} |
Outlook Express
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
Pegasus Mail
| {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} {{ref|pegasusaddins|†}} | {{yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{yes}} {{ref|pegasusaddins|†}} | {{yes}} {{ref|pegasusaddins|†}} | {{yes}} {{ref|pegasusaddins|†}} | {{dunno}} | {{dunno}} |
Pine
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
SeaMonkey Mail & Newsgroups
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{partial}} | {{dunno}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} {{ref|MTB|†}} |
Sylpheed
| {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
The Bat!
| {{yes}} | {{yes}} {{ref|SelectiveDownload|†}} | {{yes}} {{ref|MessageDispatcher|†}} | {{yes}} | {{yes}} | {{yes}} {{ref|BAT_mygate|†}} | {{yes}} | {{no}} | {{no}} | {{no}} | {{yes}} {{ref|BAT_rss2pop3|†}} | {{yes}} {{ref|BAT_rss2pop3|†}} | {{yes}} {{ref|BAT_rss2pop3|†}} | {{yes}} {{ref|BAT_rss2pop3|†}} | {{no}} |
Turnpike
| {{Yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{Yes}} | {{Yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
Windows Live Mail
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{no}} |
Windows Mail
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} | {{dunno}} |
YAM
| {{yes}} | {{yes}} | {{yes}} | {{no}} | {{yes}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} | {{no}} |
Zimbra
| {{yes}} | {{no}} | {{no}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{dunno}} | {{dunno}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} | {{yes}} |
class="unsortable"
! rowspan="2" style="width:12em" | Client ! fetch all messages ! selected by filter ! selected by user ! rowspan="2" | IMAP4 ! rowspan="2" | SMTP ! rowspan="2" | NNTP ! v2 ! v3 ! rowspan="2" | IMSP ! rowspan="2" | ACAP ! RSS 0.91 ! RSS 1.0 ! RSS 2.0 ! ATOM ! rowspan="2" | iCalendar |
class="unsortable"
! colspan="3" | POP3 ! colspan="2" | LDAP ! colspan="4" | Feeds |
- {{note|GnusLDAP}} An Emacs module named EUDC extends Gnus and BBDB to support LDAP. [http://www.xemacs.org/Documentation/packages/html/eudc.html]
- {{note|KDENNTP}} KDE supports Newsgroups (NNTP) by the use of KNode
- {{note|KDEFeeds}} KDE supports feeds by the use of Akregator
- {{note|KDEiCal}} KDE supports iCal by the use of KOrganizer
- {{note|NotesRSS}} [http://www.openntf.org/Projects/pmt.nsf/ProjectHome?ReadForm&Query=Studio%20Blog%20Reader Studio Blog Reader] is one RSS reader application for IBM Lotus Notes. IBM Lotus Notes version 8.x introduced a native RSS reader.
- {{note|OutlookFeeds}} Support of feeds is available in Microsoft Office Outlook 2007.
- {{note|OutlookiCal}} Microsoft Outlook support of iCalendar varies by version.
- {{note|SelectiveDownload}} Selective Download filters can skip/delete messages on POP3 server based on header (sender, recipient, subject, etc) information, this doesn't require to retrieve the full message body from the server.
- {{note|MessageDispatcher}} Message Dispatcher allows the user to decide which messages should be retrieved, deleted or skipped based on the header information (sender, recipient, subject, etc) displayed to the user.
- {{note|MTB}} iCalendar is supported with an extension.
- {{note|Claws}} RSSyl plugin is required to read RSS and ATOM in Claws Mail.
- {{note|Claws2}} vCalendar plugin is required to handle iCalendar in Claws Mail.
- {{note|BAT_mygate}} The BAT! requires MyGate plugin installed for handling NNTP.
- {{note|BAT_rss2pop3}} The BAT! requires rss2mail or rss2pop3 plugin installed for handling RSS and ATOM.
- {{note|plugin}} i.Scribe / InScribe requires a plugin to handle LDAP.
- {{note|pegasusaddins}} Pegasus Mail can convert Newsgroup messages and/or RSS feeds to e-mails through the use of free add-ons.
|}
= Example 5 =
From Anamorphosée#Singles
Demonstrates multi-row headers with rowspans and colspans and rowspans in the data.
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" |
align=center style="background:lightblue"| Click [Show] to view example --> |
---|
align=center|
(This table has been modified to mark the second row as header cells.) {| class="wikitable tsx_sortable" ! rowspan="2"|Year ! rowspan="2"|Title ! rowspan="2"|Date of release ! rowspan="2"|Physical sales ! colspan="2"|Certification ! colspan="3"|Peak position |
----
!width="40" align="center"|FR !width="40" align="center"|BE (WA) !width="40" align="center"|FR !width="40" align="center"|BE (WA) !width="40" align="center"|SWI |
----
|rowspan="2"|1995 |"XXL" |align="center"|{{formatnum:150,000}} |align="center"|— |align="center"|— |align="center"|1 |align="center"|3 |align="center"|11 |
----
|"L'Instant X" |align="center"|{{formatnum:210,000}} |align="center"|— |align="center"|— |align="center"|6 |align="center"|12 |align="center"|— |
----
|rowspan="3"|1996 |"California" |align="center"|{{formatnum:150,000}} |align="center"|— |align="center"|— |align="center"|7 |align="center"|22 |align="center"|— |
----
|align="center"|{{formatnum:90,000}} |align="center"|— |align="center"|— |align="center"|11 |align="center"|21 |align="center"|— |
----
|"Rêver" |align="center"|{{formatnum:200,000}} |align="center"|— |align="center"|— |align="center"|7 |align="center"|12 |align="center"|— |
|}
= Example 6 =
From In Blue#Charts and certifications
Demonstrates rowspans in the data.
|}
= Example 7 =
From List of British Columbia senators#Current
Demonstrates a colspan in the header that previously caused sort icons to sort the wrong columns.
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" |
align=center style="background:lightblue"| Click [Show] to view example --> |
---|
align=center|
{|class="wikitable tsx_sortable" |
align=left colspan=2|Name
!align=left|Party !align=left|Division1 !align=left|Date appointed !align=left|Appointed by2 !align=left|Mandatory retirement {{Canadian party colour|CA|Liberal|row}} |align=left|Larry Campbell |align=left|Liberal |align=left|Vancouver |align=left|Martin |align=left|February 28 2023 {{Canadian party colour|CA|Liberal|row}} |align=left|Mobina Jaffer |align=left|Liberal |align=left|British Columbia |align=left|Chrétien {{Canadian party colour|CA|Conservative|row}} |align=left|Richard Neufeld |align=left|Conservative |align=left|British Columbia |align=left|December 22, 2008 |align=left|Harper |align=left|November 16, 2019 {{Canadian party colour|CA|Conservative|row}} |align=left|Yonah Martin |align=left|Conservative |align=left|British Columbia |align=left|December 22, 2008 |align=left|Harper {{Canadian party colour|CA|Conservative|row}} |align=left|Nancy Greene |align=left|Conservative |align=left|Thompson-Okanagan-Kootenay |align=left|December 22, 2008 |align=left|Harper {{Canadian party colour|CA|Conservative|row}} |align=left|Gerry St. Germain |align=left|Conservative |align=left|Langley-Pemberton-Whistler |align=left|Mulroney |align=left|November 6, 2012 |
|}
= Example 8 =
From TV Land Award#Past winners
Demonstrates rowspans in the data.
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" |
align=center style="background:lightblue"| Click [Show] to view example --> |
---|
align=center|
{| class="wikitable tsx_sortable" |
Year & Host
! Award ! Recipient ! Presented By |
rowspan="5" |2003
Hosted by John Ritter |Future Classic |
Groundbreaking Role
|Diahann Carroll as Julia |
Innovator |
Legend
|Matthew Perry and Ted Danson |
Pop Culture |
rowspan="5" |2004
Hosted by Brad Garrett |Future Classic |
Groundbreaking Show |
Legend |
Pop Culture
|Rudy Boesch, Tina Wesson, Jenna Morasca and Rob Cesternino from Survivor: All Stars |
Visionary |
rowspan="7" |2005
Hosted by Cedric the Entertainer |Future Classic |
Icon |
Legend |
Little Screen/Big Screen Star |
Pioneer
|Peggy Lipton, Michael Cole, Jaclyn Smith, Gavin MacLeod, Bernie Kopell, Joan Collins, Jason Priestley, Luke Perry, Tori Spelling, Stephen Collins and Catherine Hicks |
Pop Culture
|Little Richard, Smokey Robinson, Ashanti, Mýa and Stevie Wonder |
100th Birthday |
rowspan="8" |2006
Hosted by Megan Mullaly |Future Classic |
40th Anniversary |
Impact |
Legend |
Little Screen/Big Screen Star |
Pop Culture
|John Schneider and Tom Wopat |
Pioneer |
TV's Greatest Music Moment
|Diana Ross |
rowspan="6" |2007
Hosted by |The Medallion Award |Taxi |
The Legacy of Laughter |
The Entertainers
|k.d. lang, The Judds and Willie Nelson |
Future Classic
|Leonard Nimoy and Luke Wilson |
30th Anniversary |
Pop Culture |
rowspan="7" |2008
Hosted by Vanessa L. Williams |Future Classic |Ed Asner and William Shatner |
Icon |
Innovator |
Legend
|Dick Van Dyke, Jack Klugman, Cindy Williams, Penny Marshall and Henry Winkler |
The Lucille Ball Legacy of Laughter |
Pioneer |
Pop Culture |
|}
= Example 9 =
From Eurovision Song Contest winners#Winners
Demonstrates rowspans in the data and the use of unsortable and autorowspan column options added by other editors.
(Note: Editors of that article has already marked up the table, even though this functionality is not yet generally available.)
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" |
align=center style="background:lightblue"| Click [Show] to view example --> |
---|
align=center|
{| class="wikitable tsx_sortable" style="font-size: 95%" |
style="background:#efefef"
! class="autorowspan"| Year ! class="autorowspan"| Country ! class="unsortable"| Song ! class="unsortable"| Performer ! class="autorowspan"| Points ! class="autorowspan"| Margin ! class="autorowspan"| Second place ! class="unsortable"| Date ! class="unsortable"| Host city |
{{escyr|1956}}
| {{Esc|Switzerland}} | "Refrain" | N/AThe full results of the 1956 Contest were never released; only the winner is known. | N/A | N/A | 24 May 1956 | Lugano |
{{escyr|1957}}
| {{Esc|Netherlands}} | "Net als toen" | {{nts|31}} | {{nts|14}} | {{Esc|France}} | 3 March 1957 |
{{escyr|1958}}
| {{Esc|France}} | "Dors, mon amour" | {{nts|27}} | {{nts|3}} | {{Esc|Switzerland}} | 12 March 1958 |
{{escyr|1959}}
| {{Esc|Netherlands}} | "Een beetje" | {{nts|21}} | {{nts|5}} | {{Esc|United Kingdom}} | 11 March 1959 | Cannes |
{{escyr|1960}}
| {{Esc|France}} | "Tom Pillibi" | {{nts|32}} | {{nts|7}} | {{Esc|United Kingdom}} | 25 March 1960 | London |
{{escyr|1961}}
| {{Esc|Luxembourg}} | {{nts|31}} | {{nts|6}} | {{Esc|United Kingdom}} | 18 March 1961 | Cannes |
{{escyr|1962}}
| {{Esc|France}} | "Un premier amour" | {{nts|26}} | {{nts|13}} | {{Esc|Monaco}} | 18 March 1962 |
{{escyr|1963}}
| {{Esc|Denmark}} | "Dansevise" | {{nts|42}} | {{nts|2}} | {{Esc|Switzerland}} | 23 March 1963 | London |
|-
| {{escyr|1964}}
| {{Esc|Italy}}
| "Non ho l'età"
| {{nts|49}}
| {{nts|32}}
| {{Esc|United Kingdom}}
| 21 March 1964
|-
| {{escyr|1965}}
| {{Esc|Luxembourg}}
| "Poupée de cire, poupée de son"
| {{nts|32}}
| {{nts|6}}
| {{Esc|United Kingdom}}
| 20 March 1965
| Naples
|-
| {{escyr|1966}}
| {{Esc|Austria}}
| "Merci Chérie"
| {{nts|31}}
| {{nts|15}}
| {{Esc|Sweden}}
| 5 March 1966
|-
| {{escyr|1967}}
| {{Esc|United Kingdom}}
| {{nts|47}}
| {{nts|25}}
| {{Esc|Ireland}}
| 8 April 1967
| Vienna
|-
| {{escyr|1968}}
| {{Esc|Spain|1939}}
| "La, la, la"
| Massiel
| {{nts|29}}
| {{nts|1}}
| {{Esc|United Kingdom}}
| 6 April 1968
| London
|-
|rowspan=4|{{escyr|1969}}Four countries tied for first place at the 1969 Contest. As no tie-break structure was in place, all four were declared joint winners.
| {{Esc|Spain|1939}}
| "Vivo cantando"
| Salomé
|rowspan=4|{{nts|18}}
|rowspan=4| N/A
|rowspan=4| N/A
|rowspan=4| 29 March 1969
|rowspan=4| Madrid
|-
| {{Esc|United Kingdom}}
| "Boom Bang-a-Bang"
| Lulu
|-
| {{Esc|Netherlands}}
| "De troubadour"
|-
|{{Esc|France}}
|-
| {{escyr|1970}}
| {{Esc|Ireland}}
| Dana
| {{nts|32}}
| {{nts|6}}
| {{Esc|United Kingdom}}
| 21 March 1970
|-
| {{escyr|1971}}
| {{Esc|Monaco}}
| "Un banc, un arbre, une rue"
| Séverine
| 128
| {{nts|12}}
| {{Esc|Spain|1939}}
| 3 April 1971
| Dublin
|-
| {{escyr|1972}}
| {{Esc|Luxembourg}}
| "Après toi"
| 128
| {{nts|14}}
| {{Esc|United Kingdom}}
| 25 March 1972
|-
| {{escyr|1973}}
| {{Esc|Luxembourg}}
| 129
| {{nts|4}}
| {{Esc|Spain|1939}}
| 7 April 1973
|-
| {{escyr|1974}}
| {{Esc|Sweden}}
| "Waterloo"
| ABBA
| {{nts|24}}
| {{nts|6}}
| {{Esc|Italy}}
| 6 April 1974
| Brighton
|-
| {{escyr|1975}}
| {{Esc|Netherlands}}
| "Ding-A-Dong"
| Teach-In
| 152
| {{nts|14}}
| {{Esc|United Kingdom}}
| 22 March 1975
|-
| {{escyr|1976}}
| {{Esc|United Kingdom}}
| 164
| {{nts|17}}
| {{Esc|France}}
| 3 April 1976
|-
| {{escyr|1977}}
| {{Esc|France}}
| 136
| {{nts|15}}
| {{Esc|United Kingdom}}
| 7 May 1977
| London
|-
| {{escyr|1978}}
| {{Esc|Israel}}
| "A-Ba-Ni-Bi"
| Izhar Cohen & Alphabeta
| 157
| {{nts|32}}
| {{Esc|Belgium}}
| 22 April 1978
| Paris
|-
| {{escyr|1979}}
| {{Esc|Israel}}
| "Hallelujah"
| 125
| {{nts|9}}
| {{Esc|Spain}}
| 31 March 1979
|-
| {{escyr|1980}}
| {{Esc|Ireland}}
| 143
| {{nts|15}}
| {{Esc|Germany}}
| 19 April 1980
|-
| {{escyr|1981}}
| {{Esc|United Kingdom}}
| 136
| {{nts|4}}
| {{Esc|Germany}}
| 4 April 1981
| Dublin
|-
| {{escyr|1982}}
| {{Esc|Germany}}
| Nicole
| 161
| {{nts|61}}
| {{Esc|Israel}}
| 24 April 1982
|-
| {{escyr|1983}}
| {{Esc|Luxembourg}}
| 142
| {{nts|6}}
| {{Esc|Israel}}
| 23 April 1983
| Munich
|-
| {{escyr|1984}}
| {{Esc|Sweden}}
| Herreys
| 145
| {{nts|8}}
| {{Esc|Ireland}}
| 5 May 1984
|-
| {{escyr|1985}}
| {{Esc|Norway}}
| "La det swinge"
| 123
| {{nts|18}}
| {{Esc|Germany}}
| 4 May 1985
|-
| {{escyr|1986}}
| {{Esc|Belgium}}
| "J'aime la vie"
| 176
| {{nts|36}}
| {{Esc|Switzerland}}
| 3 May 1986
| Bergen
|-
| {{escyr|1987}}
| {{Esc|Ireland}}
| "Hold Me Now"
| 172
| {{nts|31}}
| {{Esc|Germany}}
| 9 May 1987
| Brussels
|-
| {{escyr|1988}}
| {{Esc|Switzerland}}
| 137
| {{nts|1}}
| {{Esc|United Kingdom}}
| 30 April 1988
| Dublin
|-
| {{escyr|1989}}
| {{Esc|Yugoslavia}}
| "Rock Me"
| Riva
| 137
| {{nts|7}}
| {{Esc|United Kingdom}}
| 6 May 1989
| Lausanne
|-
| {{escyr|1990}}
| {{Esc|Italy}}
| "Insieme: 1992"
| 149
| {{nts|17}}
| {{Esc|Ireland}}, {{Esc|France}}Ireland and France tied for second place in the 1990 Contest.
| 5 May 1990
| Zagreb
|-
| {{escyr|1991}}
| {{Esc|Sweden}}
| Carola
| 146
| {{nts|0}}Sweden won the 1991 Contest following a tie-break.
| {{Esc|France}}
| 4 May 1991
| Rome
|-
| {{escyr|1992}}
| {{Esc|Ireland}}
| "Why Me"
| 155
| {{nts|16}}
| {{Esc|United Kingdom}}
| 9 May 1992
| Malmö
|-
| {{escyr|1993}}
| {{Esc|Ireland}}
| "In Your Eyes"
| 187
| {{nts|23}}
| {{Esc|United Kingdom}}
| 15 May 1993
|-
| {{escyr|1994}}
| {{Esc|Ireland}}
| Paul Harrington & Charlie McGettigan
| 226
| {{nts|60}}
| {{Esc|Poland}}
| 30 April 1994
| Dublin
|-
| {{escyr|1995}}
| {{Esc|Norway}}
| "Nocturne"
| 148
| {{nts|29}}
| {{Esc|Spain}}
| 13 May 1995
| Dublin
|-
| {{escyr|1996}}
| {{Esc|Ireland}}
| "The Voice"
| 162
| {{nts|48}}
| {{Esc|Norway}}
| 18 May 1996
| Oslo
|-
| {{escyr|1997}}
| {{Esc|United Kingdom}}
| 227
| {{nts|70}}
| {{Esc|Ireland}}
| 3 May 1997
| Dublin
|-
| {{escyr|1998}}
| {{Esc|Israel}}
| "Diva"
| 172
| {{nts|6}}
| {{Esc|United Kingdom}}
| 9 May 1998
|-
| {{escyr|1999}}
| {{Esc|Sweden}}
| 163
| {{nts|17}}
| {{Esc|Iceland}}
| 29 May 1999
|-
| {{escyr|2000}}
| {{Esc|Denmark}}
| 195
| {{nts|40}}
| {{Esc|Russia}}
| 13 May 2000
|-
| {{escyr|2001}}
| {{Esc|Estonia}}
| "Everybody"
| Tanel Padar, Dave Benton & 2XL
| 198
| {{nts|21}}
| {{Esc|Denmark}}
| 12 May 2001
|-
| {{escyr|2002}}
| {{Esc|Latvia}}
| "I Wanna"
| Marie N
| 176
| {{nts|12}}
| {{Esc|Malta}}
| 25 May 2002
| Tallinn
|-
| {{escyr|2003}}
| {{Esc|Turkey}}
| 167
| {{nts|2}}
| {{Esc|Belgium}}
| 24 May 2003
| Riga
|-
| {{escyr|2004}}
| {{Esc|Ukraine}}
| "Wild Dances"
| Ruslana
| 280
| {{nts|17}}
| {{Esc|Serbia and Montenegro}}
| Istanbul
|-
| {{escyr|2005}}
| {{Esc|Greece}}
| "My Number One"
| 230
| {{nts|38}}
| {{Esc|Malta}}
| 21 May 2005
| Kiev
|-
| {{escyr|2006}}
| {{Esc|Finland}}
| Lordi
| 292
| {{nts|44}}
| {{Esc|Russia}}
| Athens
|-
| {{escyr|2007}}
| {{Esc|Serbia}}
| "Molitva"
| 268
| {{nts|33}}
| {{Esc|Ukraine}}
| Helsinki
|-
| {{escyr|2008}}
| {{Esc|Russia}}
| "Believe"
| 272
| {{nts|42}}
| {{Esc|Ukraine}}
| 24 May 2008Since 2008 the Contest has included two semi-finals, held on the Tuesday and Thursday before the final.
| Belgrade
|-
| {{escyr|2009}}
| {{Esc|Norway}}
| "Fairytale"
| 387
| {{nts|169}}
| {{Esc|Iceland}}
| 16 May 2009
| Moscow
|-
| {{escyr|2010}}
|
|
|
|
|
|
| 22 May 2010
| In Norway
|}
|}
Mix of colspans and rowspans
The following data is not real, it has been adapted/fabricated to test assorted complex rowspan/colspan combinations. Note that the data in the first set of columns matches the data in the second set.
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" | ||||||||||||||
align=center style="background:lightblue"| Click [Show] to view example --> | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
align=center|
{| class="wikitable tsx_sortable autorowspan" style="text-align:center" | ||||||||||||||
Rank | NOC | Gold | Silver | Bronze | Total | Rank | Gold | Silver | Bronze | Total | ABC | XXX | YYY | ZZZ |
1 | align=left| {{flagIOCteam|SWE|1908 Summer}} | 3 | 2 | 1 | 6 | 1 | 3 | rowspan=2| 2 | 1 | 6 | A | rowspan=5|Z | rowspan=10|Y | rowspan=15|Z |
2 | align=left| {{flagIOCteam|GBR|1908 Summer}} | 1 | 2 | 4 | 7 | 2 | rowspan=4| 1 | 4 | 7 | H | ||||
3 | align=left| {{flagIOCteam|GER|1908 Summer}} | 1 | 1 | 0 | 2 | 3 | 1 | 0 | 2 | B | ||||
4 | align=left| {{flagIOCteam|CAN|1920 Summer}} | 1 | 0 | 0 | 1 | 4 | rowspan=2 colspan=2| 0 | rowspan=2| 1 | I | |||||
5 | align=left| {{flagIOCteam|FIN|1920 Summer}} | 1 | 0 | 0 | 1 | 5 | C | |||||||
class="unsortable"
! Rank !! NOC !! Gold !! Silver !! Bronze !! Total !! Rank !! Gold !! Silver !! Bronze !! Total !! ABC | ||||||||||||||
6 | align=left| {{flagIOCteam|RUS|1908 Summer}} | 1 | 0 | 0 | 1 | 6 | 1 | colspan="2"| 0 | 1 | J | ||||
rowspan="2" | 7 | align=left| {{flagIOCteam|NOR|1920 Summer}} | 0 | 2 | 1 | 3 | 7 | rowspan=2| 0 | 2 | rowspan=4| 1 | 3 | D | |||
align=left| {{flagIOCteam|USA|1920 Summer}} | 0 | 1 | 1 | 2 | 8 | 1 | 2 | K | ||||||
9 | align=left rowspan=5| {{flagIOCteam|TCH|1920 Summer}} | 0 | 0 | 1 | 1 | 9 | colspan="2"| 0 | 1 | E | |||||
10 | 3 | 2 | 1 | 6 | 10 | rowspan=3| 3 | rowspan=2| 2 | 6 | L | |||||
rowspan="3" | 11 | 3 | 2 | 1 | 1 | 11 | colspan="2"| 1 | F | |||||||
colspan="2"| 2 | rowspan=2| 1 | M | ||||||||||||
G | ||||||||||||||
class="unsortable"
! Rank !! NOC !! Gold !! Silver !! Bronze !! Total !! Rank !! Gold !! Silver !! Bronze !! Total !! ABC |
Multi-row header example:
class="wikitable tsx_sortable autorowspan" style="text-align:center" | ||||||||||||||
rowspan=2| Rank | rowspan=2| NOC | colspan=3| Medals | rowspan=2| Total | rowspan=2| Rank | colspan=3| Medals | rowspan=2| Total | rowspan=2| ABC | rowspan=2| XXX | rowspan=2| YYY | rowspan=2| ZZZ | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Gold | Silver | Bronze | Gold | Silver | Bronze | |||||||||
1 | align=left| {{flagIOCteam|SWE|1908 Summer}} | 3 | 2 | 1 | 6 | 1 | 3 | rowspan=2| 2 | 1 | 6 | A | rowspan=5|Z | rowspan=10|Y | rowspan=15|Z |
2 | align=left| {{flagIOCteam|GBR|1908 Summer}} | 1 | 2 | 4 | 7 | 2 | rowspan=4| 1 | 4 | 7 | H | ||||
3 | align=left| {{flagIOCteam|GER|1908 Summer}} | 1 | 1 | 0 | 2 | 3 | 1 | 0 | 2 | B | ||||
4 | align=left| {{flagIOCteam|CAN|1920 Summer}} | 1 | 0 | 0 | 1 | 4 | rowspan=2 colspan=2| 0 | rowspan=2| 1 | I | |||||
5 | align=left| {{flagIOCteam|FIN|1920 Summer}} | 1 | 0 | 0 | 1 | 5 | C | |||||||
class="unsortable"
! Rank !! NOC !! Gold !! Silver !! Bronze !! Total !! Rank !! Gold !! Silver !! Bronze !! Total !! ABC | ||||||||||||||
6 | align=left| {{flagIOCteam|RUS|1908 Summer}} | 1 | 0 | 0 | 1 | 6 | 1 | colspan="2"| 0 | 1 | J | ||||
rowspan="2" | 7 | align=left| {{flagIOCteam|NOR|1920 Summer}} | 0 | 2 | 1 | 3 | 7 | rowspan=2| 0 | 2 | rowspan=4| 1 | 3 | D | |||
align=left| {{flagIOCteam|USA|1920 Summer}} | 0 | 1 | 1 | 2 | 8 | 1 | 2 | K | ||||||
9 | align=left rowspan=5| {{flagIOCteam|TCH|1920 Summer}} | 0 | 0 | 1 | 1 | 9 | colspan="2"| 0 | 1 | E | |||||
10 | 3 | 2 | 1 | 6 | 10 | rowspan=3| 3 | rowspan=2| 2 | 6 | L | |||||
rowspan="3" | 11 | 3 | 2 | 1 | 1 | 11 | colspan="2"| 1 | F | |||||||
colspan="2"| 2 | rowspan=2| 1 | M | ||||||||||||
G | ||||||||||||||
class="unsortable"
! Rank !! NOC !! Gold !! Silver !! Bronze !! Total !! Rank !! Gold !! Silver !! Bronze !! Total !! ABC |
|}
An example from MediaWiki talk:Common.js
Another table with a header containing rowspan and colspan from [http://en.wikipedia.org/w/index.php?title=MediaWiki_talk:Common.js&oldid=405784883#Improve_sortable_tables this discussion].
class="wikitable collapsible collapsed" style="width: 100%; background: lightblue;" | ||
align=center style="background:lightblue"| Click [Show] to view example --> | ||
---|---|---|
align=center|
{| class="wikitable tsx_sortable" | ||
rowspan=2 | Title 1
! colspan=2 class="unsortable" | Title 2 | ||
Title 2.1
! Title 2.2 | ||
A | B | C |
B | C | A |
C | A | B |
|}