From 0ca1b7ace4da7df621d38aa9df8fab3e5984577f Mon Sep 17 00:00:00 2001 From: "Ocke Janssen [oj]" <Ocke.Janssen@oracle.com> Date: Thu, 6 Jan 2011 12:32:17 +0100 Subject: dba34c: #i113405# remove row from rowset when it can not be accessed anymore and adjust rowcount --- svx/source/fmcomp/gridctrl.cxx | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'svx/source/fmcomp') diff --git a/svx/source/fmcomp/gridctrl.cxx b/svx/source/fmcomp/gridctrl.cxx index 1944bd47dad5..4defba88e3ef 100644 --- a/svx/source/fmcomp/gridctrl.cxx +++ b/svx/source/fmcomp/gridctrl.cxx @@ -2001,6 +2001,18 @@ void DbGridControl::AdjustRows() RowRemoved(GetRowCount() - nDelta, nDelta, sal_False); // es sind Zeilen weggefallen, dann ab der aktuellen Position neu zeichen Invalidate(); + + sal_Int32 nNewPos = AlignSeekCursor(); + if (m_bSynchDisplay) + DbGridControl_Base::GoToRow(nNewPos); + + SetCurrent(nNewPos); + // there are rows so go to the selected current column + if (nRecordCount) + GoToRowColumnId(nNewPos, GetColumnId(GetCurColumnId())); + if (!IsResizing() && GetRowCount()) + RecalcRows(GetTopRow(), GetVisibleRows(), sal_True); + m_aBar.InvalidateAll(m_nCurrentPos, sal_True); } else // zuwenig RowInserted(GetRowCount(), -nDelta, sal_True); -- cgit