title: html runtime create code very slow
body: <p>I made a spreadsheet 
  example image
  <a href="http://www.jqwidgets.com/wp-content/uploads/2012/08/jquery-spreadsheet.png" rel="nofollow">http://www.jqwidgets.com/wp-content/uploads/2012/08/jquery-spreadsheet.png</a></p>
  
  <p>this my total datas (3974 rows) ( I am using entitiy Mvc 4 c# / framework 4.5 store procedure) no join single table and I'am using LOCALHOST) mssql 2014 express
  but I'm very waiting ( only html create ) no data  ( avarage 2 minutes only load) and when I click on  cell(input) Waiting for 8 seconds </p>
  
  <p>3.794 rows coming fast from the server only html create slow</p>
  
  <p>How can I speed it up? if it is not possible..
  or Can you are recommend me a spreadsheet?
  or client side cache or mvc data cache Which helpful?
  thank you</p>
  
  <pre><code>function GridEstimation() {
  
  var estimationModel = GetEstimations();  3.974 ROWS
  var GridEstimation = document.getElementById('GridEstimation');
  
  var dynamicNav = "";
  if (estimationModel != "undefined") {
  
      dynamicNav += '&lt;div class="table-wrapper"&gt;';
      dynamicNav += '&lt;div class="table-scroll"&gt;';
      dynamicNav += '&lt;table class="tftable" border="1"&gt;';
  </code></pre>
  
  <blockquote>
    <p>24 VESSEL ROWS</p>
  </blockquote>
  
  <pre><code>    dynamicNav += '&lt;tr&gt;'
      dynamicNav += '&lt;th&gt;Invoice Item&lt;/th&gt;' 
      for (var i = 0; i &lt; estimationModel.Vessels.length; i++) { 
  
          dynamicNav += '&lt;th id=' + estimationModel.Vessels[i].VesselID + '&gt;' + estimationModel.Vessels[i].VesselName + '&lt;/th&gt;'
  
      }
      dynamicNav += '&lt;/tr&gt;'
  </code></pre>
  
  <blockquote>
    <p>158 ITEM(stock) ROWS</p>
  </blockquote>
  
  <pre><code>    for (var m = 0; m &lt; estimationModel.Items.length; m++) {
  
        dynamicNav += '&lt;tr&gt;';
          dynamicNav += '&lt;td&gt;' + estimationModel.Items[m].InvoiceItemName + '&lt;/td&gt;';
  </code></pre>
  
  <blockquote>
    <p>3.792 CELL INPUT ROWS          </p>
  </blockquote>
  
  <pre><code>  for (var n = 0; n &lt; estimationModel.Estimations.length; n++) {
              dynamicNav += '&lt;div&gt;&lt;input type="text" id=' + estimationModel.Estimations[n].EstimationID + '/&gt;&lt;/div&gt;';
  
          }
  
          dynamicNav += '&lt;/tr&gt;'
      }
  
      dynamicNav += '&lt;/tr&gt;'
      dynamicNav += '&lt;/table&gt;'
      dynamicNav += '&lt;/div&gt;';
      dynamicNav += '&lt;/div&gt;';
  } 
  
  $("#GridEstimation").append(dynamicNav);  
  </code></pre>
  
  <p>}</p>