Comparing Test Marks Using a 3D HTML Recordset - Code Explanation
(Page 4 of 4 )
We have a recordset that has a 3D table of three horizontal planes and four vertical planes.
Now, click the "Scroll Inward" button repeatedly and you should see the contents of the different vertical planes; stop when you do not see any figures.
Now click the "Determine Average per Student per Subject" button. The name of the button tells its use. You should see the values gotten by averaging different lines of cells across the vertical planes. There are four V planes in the recordset and this is the last. It comes from the database engine empty. Its values are the results of calculations.
Refresh the page to reset the data. This is for convenience. You should be seeing the figures of the first vertical plane.
Click the "Determine Average per Student per Subject" button. The averages will be calculated and put in their corresponding positions in the last V plane. At this point you do not yet see the results. You will need to click the "Scroll Inward" button repeatedly until you see the results (last V plane).
The Code
The recordset is a 3D HTML Table element. Inspect the way I wrote the code for the table and also note the way I gave the IDs for the table element. The fundamental statement for the JavaScript code is
document.getElementById(TID).rows[0].cells[k].
This returns a reference to a cell in the one-row table whose id is TID. Recall that each of these tables has only one row. Therefore, to access the row you need only the index 0. A particular cell in the row is accessed with the index variable, k.
In a function loop, different values of TID have to be formed to access the different tables and their cells.
Now the "innerHTML" attribute figures as you see them in a Table Cell. You should use the parseFloat(value) function so that what is returned is the figure you saw.
If you have read the previous articles I wrote on creating a 3D HTML table and using a 3D HTML table as a recordset, then the complete code here should be self-explanatory.
I hope this article has made you appreciate one good use for a 3D recordset.
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |