" );
for ( uint32 cc=0; cc!=DtNbCols; ++cc )
if ( cc == c )
AltDocs[c].write( "" + string(DataColStr[cc]) + " | " );
else
AltDocs[c].write( "" + string(DataColStr[cc]) + " | " );
AltDocs[c].write( "
" );
string previousKey = "[NO PREVIOUS]"; // not a blank string, because it may be a valid value
string previousName = "";
for ( CRMData::CLookup::const_iterator isd=SortableData.lookup( c ).begin(); isd!=SortableData.lookup( c ).end(); ++isd )
{
const TRMItem& item = SortableData.getRow( (*isd).second );
AltDocs[c].write( item.toHTMLRow( c, (*isd).first, previousKey, DtName, previousName ) );
if ( c == DtCraftSlotName )
MainCSV.write( item.toCSVLine( ',', "", c, (*isd).first, previousKey, DtName, previousName ) );
previousKey = (*isd).first;
previousName = item.Fields[DtName][0];
}
AltDocs[c].write( "