tempStringStream.str(L"");\r
tempStringStream<<ID;\r
attribsMap[L"table-id"]=tempStringStream.str();\r
- } else if(tableInfo&&(nodeName.compare(L"THEAD")==0||nodeName.compare(L"TBODY")==0||nodeName.compare(L"TFOOT")==0)) {\r
- parentNode->updateAncestor=tableInfo->tableNode;\r
} else if(tableInfo&&nodeName.compare(L"TR")==0) {\r
++tableInfo->curRowNumber;\r
tableInfo->curColumnNumber = 0;\r
- parentNode->updateAncestor=tableInfo->tableNode;\r
} if(tableInfo&&(nodeName.compare(L"TD")==0||nodeName.compare(L"TH")==0)) {\r
++tableInfo->curColumnNumber;\r
- parentNode->updateAncestor=tableInfo->tableNode;\r
handleColsSpannedByPrevRows(*tableInfo);\r
tempStringStream.str(L"");\r
tempStringStream<<tableInfo->tableID;\r
nhAssert(parentNode);\r
previousNode=NULL;\r
\r
+ //All inner parts of a table (rows, cells etc) if they are changed must re-render the entire table.\r
+ //This must be done even for nodes with display:none.\r
+ if(tableInfo&&(nodeName.compare(L"THEAD")==0||nodeName.compare(L"TBODY")==0||nodeName.compare(L"TFOOT")==0||nodeName.compare(L"TR")==0||nodeName.compare(L"TH")==0||nodeName.compare(L"TD")==0)) {\r
+ parentNode->updateAncestor=tableInfo->tableNode;\r
+ }\r
+\r
parentNode->isHidden=(hidden||dontRender);\r
//We do not want to render any content for dontRender nodes\r
if(dontRender) {\r