diff options
-rw-r--r-- | forms/source/component/FormComponent.cxx | 2 | ||||
-rw-r--r-- | svx/source/fmcomp/fmgridif.cxx | 13 |
2 files changed, 13 insertions, 2 deletions
diff --git a/forms/source/component/FormComponent.cxx b/forms/source/component/FormComponent.cxx index 376ba7a97844..75c09cc6a91b 100644 --- a/forms/source/component/FormComponent.cxx +++ b/forms/source/component/FormComponent.cxx @@ -2047,7 +2047,7 @@ void OBoundControlModel::impl_connectDatabaseColumn_noNotify( bool _bFromReload OSL_ENSURE( xRowSet.is(), "OBoundControlModel::impl_connectDatabaseColumn_noNotify: no row set!" ); if ( !xRowSet.is() ) return; - if ( !hasField() ) + if ( !hasField() || _bFromReload ) { // connect to the column connectToField( xRowSet ); diff --git a/svx/source/fmcomp/fmgridif.cxx b/svx/source/fmcomp/fmgridif.cxx index 041825e5a55f..b6f99bf42344 100644 --- a/svx/source/fmcomp/fmgridif.cxx +++ b/svx/source/fmcomp/fmgridif.cxx @@ -1572,8 +1572,19 @@ void FmXGridPeer::unloading(const EventObject& /*aEvent*/) throw( RuntimeExcepti } -void FmXGridPeer::reloaded(const EventObject& /*aEvent*/) throw( RuntimeException, std::exception ) +void FmXGridPeer::reloaded(const EventObject& aEvent) throw( RuntimeException, std::exception ) { + { + const sal_Int32 cnt = m_xColumns->getCount(); + for(sal_Int32 i=0; i<cnt; ++i) + { + Reference< XLoadListener> xll(m_xColumns->getByIndex(i), UNO_QUERY); + if(xll.is()) + { + xll->reloaded(aEvent); + } + } + } updateGrid(m_xCursor); } |