DataSetColumnBindingsFormHandleProvider provider = new DataSetColumnBindingsFormHandleProvider( ); provider.setBindingObject( (ReportItemHandle) handle ); provider.generateAllBindingColumns( );
	public DesignElementHandle createElement( Object extendedData )	{		boolean isTable = ReportDesignConstants.TABLE_ITEM.equals( getElementType( ) );		TableOptionDialog dialog = new TableOptionDialog( UIUtil.getDefaultShell( ),				isTable );		if ( dialog.open( ) == Window.OK				&& dialog.getResult( ) instanceof Object[] )		{			Object[] data = (Object[]) dialog.getResult( );			DesignElementHandle handle = null;			if ( isTable )			{				// handle = getElementFactory( ).newTableItem( getNewName(				// extendedData ),				// data[1],				// 1,				// data[0],				// 1 );				handle = DesignElementFactory.getInstance( )						.newTableItem( getNewName( extendedData ),								( (Integer) data[1] ).intValue( ),								1,								( (Integer) data[0] ).intValue( ),								1 );				if ( data[2] != null )				{					try					{						DataSetHandle dataSet = SessionHandleAdapter.getInstance( )								.getReportDesignHandle( )								.findDataSet( data[2].toString( ) );						( (ReportItemHandle) handle ).setDataSet( dataSet );					}					catch ( Exception e )					{						ExceptionHandler.handle( e );					}				}			}			else			{				// handle = getElementFactory( ).newGridItem( getNewName(				// extendedData ),				// data[1],				// data[0] );				handle = DesignElementFactory.getInstance( )						.newGridItem( getNewName( extendedData ),								( (Integer) data[1] ).intValue( ),								( (Integer) data[0] ).intValue( ) );			}			InsertInLayoutUtil.setInitWidth( handle );			return handle;		}		return null;	}