Bug 147676 [regression]Visibility set in the first col will affect the second col
Description: Visibility set in the first col will affect the second col Steps to reproduce: 1. Insert a grid(3*3), insert contents to each cell. 2.Set the first col to hide all in visibility and preview Expected result: Only the first col is hidden. Actual result: The second col is hidden, too. If you set the second col in step2, the third col will disappear.
engine/org.eclipse.birt.report.engine.emitter.html/src/org/eclipse/birt/report/engine/emitter/html/HTMLReportEmitter.java
d startTableFooter( ITableBandContent band )
	{
		 isHidden( ) )
		{
			return;
		}
		writer.openTag( HTMLTags.TAG_TFOOT );
	}
	*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.birt.report.engine.emitter.IContentEmitter#endTableFooter(org.eclipse.birt.report.engine.content.ITableBandContent)
	 *
	public void endTableFooter( ITableBandContent band )
	{
		 isHidden( ) )
		{
			return;
		}
		writer.closeTag( HTMLTags.TAG_TFOOT );
	}
	boolean isRowInDetailBand(IRowContent row)
	{
		IElement parent = row.getParent( );
		 !( parent instanceof IBandContent ) )
		{
			return false;
		}
		IBandContent band = (IBandContent)parent;
		band.getBandType( ) == IBandContent.BAND_DETAIL)
		{
			return true;
		}
		return false;
	}
	
	*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.birt.report.engine.emitter.IContentEmitter#startRow(org.eclipse.birt.report.engine.content.IRowContent)
	 *
	public void startRow( IRowContent row )
	{
		assert row != null;
		IStyle mergedStyle = row.getStyle( );
		push( mergedStyle );
		 isHidden( ) )
		{
			return;
		}
		 includeSelectionHandler )
		{
			 isRowInDetailBand( row ) )
			{
				DetailRowState state = (DetailRowState) detailRowStateStack
						.peek( );
				 !state.hasOutput && !state.isStartOfDetail
						&& state.isTable )
				{
					state.isStartOfDetail = true;
					state.hasOutput = true;
				}
			}
		}
		writer.openTag( HTMLTags.TAG_TR );
		setStyleName( row.getStyleClass( ) );
		
		setB( null, row.getB( ) );
		StringBuffer styleBuffer = new StringBuffer( );
		lder.buildSize( styleBuffer, HTMLTags.ATTR_HEIGHT, row
				.getHeight( ) ); 
		
		outputRowMetaData( row );
		handleStyle( row, styleBuffer );
	}
	
	 IGroupContent getGroup(IBandContent bandContent)
	{
		IContent parent = (IContent)bandContent.getParent();
		parent instanceof IGroupContent)
		{
			return (IGroupContent)parent;
		}
		return null;
	}
	
	 void outputRowMetaData( IRowContent rowContent )
	{
		Object parent = rowContent.getParent( );
		 parent instanceof ITableBandContent )