home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / source_code / dhtmlunl / dhtml.exe / CD Content / Chap18 / dun18_5.txt < prev    next >
Encoding:
Text File  |  1997-12-18  |  10.6 KB  |  288 lines

  1. <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
  2. <html><head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <title>Baseball Cards</title></head>
  5. <body bgcolor="#FFFFFF">
  6. <p>
  7. <object id="cards" ondatasetcomplete="dataloaded()"
  8. classid="CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83" width="192" height="192">
  9.   <param name="DataURL" value="cards.txt">
  10.   <param name="UseHeader" value="1">
  11.   <param name="Sort" value="year; cardnumber">
  12. </object>
  13. </p>
  14.  
  15. <h3 align="center">
  16. To filter the data for a specific year, enter the year here and click the
  17. Filter button:</h3>
  18. <form id="filterform">
  19.   <div align="center"><center><h3>Year:
  20.      <input type="text" name="FilterYear" size="20"></h3>
  21.   </center></div>
  22.   <div align="center"><center><h3>
  23.   <input type="submit" value="Filter" name="B1" onclick="filteryear(0)">
  24.   <input type="reset" value="Reset" name="B2" onclick="filteryear(1)">
  25.   </h3></center></div>
  26. </form>
  27. <hr>
  28. <h3 align="center">Use any of these buttons to sort the data:</h3>
  29. <p align="center"><input type="button" value="Year/Card Number" name="B1"
  30. onclick="buttonclick(1)"><input type="button" value="Description" name="B2"
  31. onclick="buttonclick(2)"><input type="button" value="Year/Grade" name="B3"
  32. onclick="buttonclick(3)"><input type="button" value="Value" name="B4"
  33. onclick="buttonclick(4)"></p>
  34. <h3 align="center">Or, to sort by any column, click the column's header.</h3>
  35. <hr>
  36.  
  37. <!-- START modified from Listing 18.4 -->
  38. <table border="1" datasrc="#cards" datapagesize=5
  39.  align="center" cellpadding="2">
  40. <!-- END modified from Listing 18.4 -->
  41. <THEAD>
  42.   <tr>
  43.     <td align="left" id="year" onclick="tableclick('year')"
  44.         bgcolor="#00FFFF"><big>+Year</big></td>
  45.     <td align="left" id="CardNumber" onclick="tableclick('cardnumber')"
  46.         bgcolor="#00FFFF"><big>+Number</big></td>
  47.     <td align="left" id="setname" onclick="tableclick('setname')"
  48.         bgcolor="#00FFFF"><big>Set Name</big></td>
  49.     <td align="left" id="issuer" onclick="tableclick('issuer')"
  50.         bgcolor="#00FFFF"><big>Issuer</big></td>
  51.     <td align="left" id="description" onclick="tableclick('description')"
  52.         bgcolor="#00FFFF"><big>Description</big></td>
  53.     <td align="left" id="grade" onclick="tableclick('grade')"
  54.         bgcolor="#00FFFF"><big>Grade</big></td>
  55.     <td align="right" id="value" onclick="tableclick('value')"
  56.         bgcolor="#00FFFF"><big>Value</big></td>
  57.   </tr>
  58. </THEAD>
  59.   <tr>
  60.     <td><div datafld="year"></div></td>
  61.     <td><div datafld="cardnumber"></div></td>
  62.     <td><div datafld="setname"></div></td>
  63.     <td><div datafld="issuer"></div></td>
  64.     <td><div datafld="description"></div></td>
  65.     <td><div datafld="grade"></div></td>
  66.     <td width="50" align="right"><div datafld="value"></div></td>
  67.   </tr>
  68. <TFOOT>
  69.   <tr>
  70.     <td colspan="6" align="right" height="40" bgcolor="#000080">
  71.     <font color="#FF0000" size="4"><strong>Total:</strong></font></td>
  72.     <td valign="center" align="right" bgcolor="#000080">
  73.     <font color="#FF0000" size="4">
  74.     <strong><div id="TotalText"></div></strong></font></td>
  75.   </tr>
  76. </TFOOT>
  77. </table>
  78.  
  79. <!-- START modified from Listing 18.4 -->
  80. <hr>
  81. <p id="pagesizetext" align="center">Page Size: 5</p>
  82. <p align="center"><strong><input type="button" value="Previous Page" name="B1"
  83. onclick="scrollpage(0)"> <input type="button" value="Next Page" name="B1"
  84. onclick="scrollpage(1)"> </strong></p>
  85.  
  86. <p align="center"><input type="button" value="Decrease Page Size" name="B1"
  87. onclick="pagesize(0)"><strong>
  88. <input type="button" value="Increase Page Size" name="B1"
  89. onclick="pagesize(1)"></strong></p>
  90.  
  91. <p align="center"><input type="button" value="Disable Table Paging" name="B1"
  92. onclick="pagesize(2)"></p>
  93. <!-- END modified from Listing 18.4 -->
  94.  
  95. <script language="VBScript"><!--
  96. sub tableclick(columnname)
  97.  
  98. if columnname <> "year" and
  99. cc]   (left(document.all.item("year").innertext,1) = "+"
  100. cc]   or left(document.all.item("year").innertext,1) = "-") then
  101.       document.all.item("year").innerHTML = "<big>" +
  102. cc]         mid(document.all.item("year").innertext,2) + "</big>"
  103. end if
  104.  
  105. if columnname <> "cardnumber" and
  106. cc]   (left(document.all.item("cardnumber").innertext,1) = "+" or
  107. cc]   left(document.all.item("cardnumber").innertext,1) = "-") then
  108.       document.all.item("cardnumber").innerHTML = "<big>" +
  109. cc]          mid(document.all.item("cardnumber").innertext,2) + "</big>"
  110. end if
  111.  
  112. if columnname <> "setname" and
  113. cc]  (left(document.all.item("setname").innertext,1) = "+" or
  114. cc]  left(document.all.item("setname").innertext,1) = "-") then
  115.     document.all.item("setname").innerHTML = "<big>" +
  116. cc]        mid(document.all.item("setname").innertext,2) + "</big>"
  117. end if
  118.  
  119. if columnname <> "issuer" and
  120. cc]  (left(document.all.item("issuer").innertext,1) = "+" or
  121. cc]   left(document.all.item("issuer").innertext,1) = "-") then
  122.      document.all.item("issuer").innerHTML = "<big>" +
  123. cc]       mid(document.all.item("issuer").innertext,2) + "</big>"
  124. end if
  125.  
  126. if columnname <> "description" and
  127. cc]  (left(document.all.item("description").innertext,1) = "+" or
  128. cc]   left(document.all.item("description").innertext,1) = "-") then
  129.      document.all.item("description").innerHTML = "<big>" +
  130. cc]       mid(document.all.item("description").innertext,2) + "</big>"
  131. end if
  132.  
  133. if columnname <> "grade" and
  134. cc]  (left(document.all.item("grade").innertext,1) = "+" or
  135. cc]   left(document.all.item("grade").innertext,1) = "-") then
  136.      document.all.item("grade").innerHTML = "<big>" +
  137. cc]       mid(document.all.item("grade").innertext,2) + "</big>"
  138. end if
  139.  
  140. if columnname <> "value" and
  141. cc]  (left(document.all.item("value").innertext,1) = "+" or
  142. cc]   left(document.all.item("value").innertext,1) = "-") then
  143.      document.all.item("value").innerHTML = "<big>" +
  144. cc]       mid(document.all.item("value").innertext,2) + "</big>"
  145. end if
  146.  
  147. if left(document.all.item(columnname).innertext,1) = "+" then
  148.    document.all.item(columnname).innerHTML =  "<big>-" +
  149. cc]     mid(document.all.item(columnname).innertext,2) + "</big>"
  150.    cards.sort = "-" + columnname
  151. elseif left(document.all.item(columnname).innertext,1) = "-" then
  152.    document.all.item(columnname).innerHTML = "<big>+" +
  153. cc]     mid(document.all.item(columnname).innertext,2) + "</big>"
  154.    cards.sort = columnname
  155. else
  156.    document.all.item(columnname).innerHTML = "<big>+" +
  157. cc]     document.all.item(columnname).innertext + "</big>"
  158.    cards.sort = columnname
  159. end if
  160.  
  161. cards.reset
  162.  
  163. end sub
  164.  
  165. sub buttonclick(button)
  166.  
  167. if (left(document.all.item("year").innertext,1) = "+" or
  168. cc]  left(document.all.item("year").innertext,1) = "-") then
  169.     document.all.item("year").innerHTML = "<big>" +
  170. cc]       mid(document.all.item("year").innertext,2) + "</big>"
  171. end if
  172.  
  173. if (left(document.all.item("cardnumber").innertext,1) = "+" or
  174. cc]  left(document.all.item("cardnumber").innertext,1) = "-") then
  175.     document.all.item("cardnumber").innerHTML = "<big>" +
  176. cc]       mid(document.all.item("cardnumber").innertext,2) + "</big>"
  177. end if
  178.  
  179. if (left(document.all.item("setname").innertext,1) = "+" or
  180. cc]  left(document.all.item("setname").innertext,1) = "-") then
  181.     document.all.item("setname").innerHTML = "<big>" +
  182. cc]       mid(document.all.item("setname").innertext,2) + "</big>"
  183. end if
  184.  
  185. if (left(document.all.item("issuer").innertext,1) = "+" or
  186. cc]  left(document.all.item("issuer").innertext,1) = "-") then
  187.     document.all.item("issuer").innerHTML = "<big>" +
  188. cc]       mid(document.all.item("issuer").innertext,2) + "</big>"
  189. end if
  190.  
  191. if (left(document.all.item("description").innertext,1) = "+" or
  192. cc]  left(document.all.item("description").innertext,1) = "-") then
  193.     document.all.item("description").innerHTML = "<big>" +
  194. cc]       mid(document.all.item("description").innertext,2) + "</big>"
  195. end if
  196.  
  197. if (left(document.all.item("grade").innertext,1) = "+" or
  198. cc]  left(document.all.item("grade").innertext,1) = "-") then
  199.     document.all.item("grade").innerHTML = "<big>" +
  200. cc]       mid(document.all.item("grade").innertext,2) + "</big>"
  201. end if
  202.  
  203. if (left(document.all.item("value").innertext,1) = "+" or
  204. cc]  left(document.all.item("value").innertext,1) = "-") then
  205.     document.all.item("value").innerHTML = "<big>" +
  206. cc]       mid(document.all.item("value").innertext,2) + "</big>"
  207. end if
  208.  
  209. select case button
  210. case 1
  211.    document.all.item("year").innerHTML = "<big>+" +
  212. cc]             document.all.item("year").innertext + "</big>"
  213.    document.all.item("cardnumber").innerHTML = "<big>+" +
  214. cc]             document.all.item("cardnumber").innertext + "</big>"
  215.    cards.sort = "year; cardnumber"
  216. case 2
  217.    document.all.item("description").innerHTML = "<big>+" +
  218. cc]             document.all.item("description").innertext + "</big>"
  219.     cards.sort = "description"
  220. case 3
  221.    document.all.item("year").innerHTML = "<big>+" +
  222. cc]             document.all.item("year").innertext + "</big>"
  223.    document.all.item("grade").innerHTML = "<big>+" +
  224. cc]             document.all.item("grade").innertext + "</big>"
  225.    cards.sort = "year; grade"
  226. case 4
  227.    document.all.item("value").innerHTML = "<big>+" +
  228. cc]             document.all.item("value").innertext + "</big>"
  229.    cards.sort = "value"
  230. end select
  231.  
  232. cards.reset
  233. end sub
  234.  
  235. sub filteryear(reset)
  236.  
  237. if reset then
  238.    fstring = ""
  239. else
  240.    fstring = "year = " + document.forms("filterform").item("filteryear").value
  241. end if
  242.  
  243. cards.filter = fstring
  244. cards.reset
  245.  
  246. end sub
  247.  
  248. <!-- START modified from Listing 18.4 -->
  249. sub scrollpage(direction)
  250.  
  251. if direction = 0 then
  252.    mytable.previouspage
  253. else
  254.    mytable.nextpage
  255. end if
  256.  
  257. end sub
  258.  
  259. sub pagesize(direction)
  260.  
  261. if direction = 0 and mytable.datapagesize > 1 then
  262.    mytable.datapagesize = mytable.datapagesize - 1
  263.    document.all.pagesizetext.innertext = "Page Size: "
  264. cc]        + cstr(mytable.datapagesize)
  265. elseif direction = 1 then
  266.    mytable.datapagesize = mytable.datapagesize + 1
  267.    document.all.pagesizetext.innertext = "Page Size: "
  268. cc]        + cstr(mytable.datapagesize)
  269. elseif direction = 2 then
  270.    mytable.datapagesize = 0
  271.    document.all.pagesizetext.innertext = "Table paging disabled"
  272. end if
  273.  
  274. end sub
  275. <!-- END modified from Listing 18.4 -->
  276.  
  277. sub dataloaded()
  278.  
  279. while not(cards.recordset.eof)
  280.    total = total + cards.recordset("value")
  281.    cards.recordset.movenext
  282. wend
  283. document.all.totaltext.innertext = total
  284.  
  285. end sub
  286. --></script>
  287. </body></html>
  288.