This is my simple implementation on JS HTML table generator which generates a table based on an array of JS objects.
function Column(caption,position,isVisible,values){ this.caption = caption; this.position = position; this.isVisible = isVisible; this.values = values; } Column.prototype.printValue = function (index){ return "<td>"+ this.values[index] +"</td>"; }; var columnArray = [ new Column("Id",0,true,[1,2,3]), new Column("Name",1,true,["Tim","Jim","Tom"]), new Column("Date",2,true,["27-03-2014","01-01-2014","11-04-2015"]) ]; function columnSorter(columnA,columnB){ if(columnA.position < columnB.position) return -1; if(columnA.position > columnB.position) return 1; return 0; } columnArray.sort(columnSorter); function generateTable(columnArray){ var htmlString = "<table><thead><tr>"; for(var col in columnArray){ htmlString += "<th>"+columnArray[col].caption+"</th>"; } htmlString += "<tfoot></tfoot>"; htmlString += "<tbody>"; for(var i=0;i<columnArray[0].values.length;i++){ htmlString += "<tr>"; for(col in columnArray){ htmlString += columnArray[col].printValue(i); } htmlString += "</tr>"; } htmlString +="</tbody>"; htmlString += "</tr></thead>"; return htmlString += "</table>"; }