table.getCell( 2, 2 ).getContent( ).add( nestedTable );
table.getCell( TableHandle.DETAIL_SLOT, -1, 1, 2 ).getContent( ).add( nestedTable );
	public void testBoundColumnWriterExpression( ) throws Exception	{		createDesign( );		DataItemHandle data = designHandle.getElementFactory( ).newDataItem(				"data1" ); //$NON-NLS-1$		designHandle.getBody( ).add( data );		Action action = new Action( );		data.setAction( action );		ActionHandle actionHandle = data.getActionHandle( );		actionHandle				.setLinkType( DesignChoiceConstants.ACTION_LINK_TYPE_BOOKMARK_LINK );		actionHandle.setTargetBookmark( "row[\"actionBookMark\"]" ); //$NON-NLS-1$		TableHandle table = designHandle.getElementFactory( ).newTableItem(				"table1", 2 ); //$NON-NLS-1$		ImageHandle image = designHandle.getElementFactory( ).newImage(				"image1" ); //$NON-NLS-1$		image.setBookmark( "row[\"bookmark1\"] + row[\"bookmark2\"]" ); //$NON-NLS-1$		image.setValueExpression( "row[\"image1\"] + row[\"valueExpr\"]" ); //$NON-NLS-1$		table.getCell( 1, 1 ).getContent( ).add( image );		TableHandle nestedTable = designHandle.getElementFactory( )				.newTableItem( "table2", 2 ); //$NON-NLS-1$		ParamBinding paramBinding = new ParamBinding( );		paramBinding.setParamName( "binding1" ); //$NON-NLS-1$		paramBinding.setExpression( "row[\"value1\"]" ); //$NON-NLS-1$		nestedTable.getPropertyHandle( TableHandle.PARAM_BINDINGS_PROP )				.addItem( paramBinding );		ColumnHandle column = (ColumnHandle) nestedTable.getColumns( ).get( 0 );		HideRule hideRule = new HideRule( );		hideRule.setExpression( "row[\"hide1Expr\"]" ); //$NON-NLS-1$		hideRule.setFormat( DesignChoiceConstants.FORMAT_TYPE_REPORTLET );		column.getPropertyHandle( ColumnHandle.VISIBILITY_PROP ).addItem(				hideRule );		table.getCell( 2, 2 ).getContent( ).add( nestedTable );		designHandle.getBody( ).add( table );		TextDataHandle textData = designHandle.getElementFactory( )				.newTextData( "textData1" ); //$NON-NLS-1$		textData.setValueExpr( "row[\"textData1ValueExpr\"]" ); //$NON-NLS-1$		GridHandle grid = designHandle.getElementFactory( ).newGridItem(				"grid1", 2, 2 ); //$NON-NLS-1$		grid.getCell( 2, 2 ).getContent( ).add( textData );		table.getCell( 3, 1 ).getContent( ).add( grid );		table.getCell( 3, 1 ).setOnCreate( "row[\"onCreateValueExpr\"] + 1" );//$NON-NLS-1$		ListHandle list = designHandle.getElementFactory( ).newList( "list1" ); //$NON-NLS-1$		FilterCondition filter = new FilterCondition( );		filter.setExpr( "row[\"filter1ValueExpr\"]" ); //$NON-NLS-1$		filter.setValue1( "row[\"filter1Value1\"]" ); //$NON-NLS-1$		filter.setValue2( "row[\"filter1Value2\"]" ); //$NON-NLS-1$		list.getPropertyHandle( ListHandle.FILTER_PROP ).addItem( filter );		SortKey sort = new SortKey( );		sort.setKey( "row[\"sort1Key\"]" ); //$NON-NLS-1$		list.getPropertyHandle( ListHandle.SORT_PROP ).addItem( sort );		designHandle.getBody( ).add( list );		ScalarParameterHandle param = designHandle.getElementFactory( )				.newScalarParameter( "param1" ); //$NON-NLS-1$		param.setValueExpr( "row[\"param1ValueExpr\"]" ); //$NON-NLS-1$		param.setLabelExpr( "row[\"param1LabelExpr\"]" ); //$NON-NLS-1$		designHandle.getParameters( ).add( param );		param = designHandle.getElementFactory( ).newScalarParameter( "param2" ); //$NON-NLS-1$		param.setValueExpr( "param2ValueExpr" ); //$NON-NLS-1$		param.setLabelExpr( "param2LabelExpr" ); //$NON-NLS-1$		designHandle.getParameters( ).add( param );		textData = designHandle.getElementFactory( ).newTextData( "textData2" ); //$NON-NLS-1$		designHandle.getBody( ).add( textData );		ComputedColumn boundColumn = new ComputedColumn( );		boundColumn.setName( "New Column" ); //$NON-NLS-1$		boundColumn.setExpression( "row[\"textData2ValueExpr\"]" ); //$NON-NLS-1$		textData.addColumnBinding( boundColumn, true );		textData.setValueExpr( "row[\"New Column\"]" ); //$NON-NLS-1$		saveAs( "CompatibleExpression_out.xml" ); //$NON-NLS-1$		assertTrue( compareTextFile( "CompatibleExpression_golden.xml", //$NON-NLS-1$				"CompatibleExpression_out.xml" ) ); //$NON-NLS-1$	}