View | Details | Raw Unified | Return to issue 85305
Collapse All | Expand All

(-)sc.clean/inc/dbcolect.hxx (-2 / +4 lines)
Lines 115-120 private: Link Here
115
	ScQueryConnect  eQueryConnect[MAXQUERY];
115
	ScQueryConnect  eQueryConnect[MAXQUERY];
116
	BOOL			bIsAdvanced;		// TRUE if created by advanced filter
116
	BOOL			bIsAdvanced;		// TRUE if created by advanced filter
117
	ScRange			aAdvSource;			// source range
117
	ScRange			aAdvSource;			// source range
118
    SCROW           nDynamicEndRow;
118
	// SubTotalParam
119
	// SubTotalParam
119
	BOOL			bSubRemoveOnly;
120
	BOOL			bSubRemoveOnly;
120
	BOOL			bSubReplace;
121
	BOOL			bSubReplace;
Lines 165-173 public: Link Here
165
			const String& GetName() const				{ return aName; }
166
			const String& GetName() const				{ return aName; }
166
			void		GetName(String& rName) const	{ rName = aName; }
167
			void		GetName(String& rName) const	{ rName = aName; }
167
			void		SetName(const String& rName)	{ aName = rName; }
168
			void		SetName(const String& rName)	{ aName = rName; }
168
			void		GetArea(SCTAB& rTab, SCCOL& rCol1, SCROW& rRow1, SCCOL& rCol2, SCROW& rRow2) const;
169
			void		GetArea(SCTAB& rTab, SCCOL& rCol1, SCROW& rRow1, SCCOL& rCol2, SCROW& rRow2, bool bUseDynamicRange = false) const;
169
			SC_DLLPUBLIC void		GetArea(ScRange& rRange) const;
170
			SC_DLLPUBLIC void		GetArea(ScRange& rRange, bool bUseDynamicRange = false) const;
170
			void		SetArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2);
171
			void		SetArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2);
172
            void        SetDynamicEndRow(SCROW nRow);
171
			void		MoveTo(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2);
173
			void		MoveTo(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2);
172
			BOOL		IsByRow() const 				{ return bByRow; }
174
			BOOL		IsByRow() const 				{ return bByRow; }
173
			void		SetByRow(BOOL bByR) 			{ bByRow = bByR; }
175
			void		SetByRow(BOOL bByR) 			{ bByRow = bByR; }
(-)sc.clean/inc/document.hxx (-1 / +4 lines)
Lines 864-870 SC_DLLPUBLIC ScDBCollection* GetDBCollec Link Here
864
	USHORT			GetErrCode( const ScAddress& ) const;
864
	USHORT			GetErrCode( const ScAddress& ) const;
865
865
866
	void			GetDataArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow,
866
	void			GetDataArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow,
867
									SCCOL& rEndCol, SCROW& rEndRow, BOOL bIncludeOld );
867
									SCCOL& rEndCol, SCROW& rEndRow, BOOL bIncludeOld ) const;
868
	BOOL			GetCellArea( SCTAB nTab, SCCOL& rEndCol, SCROW& rEndRow ) const;
868
	BOOL			GetCellArea( SCTAB nTab, SCCOL& rEndCol, SCROW& rEndRow ) const;
869
	BOOL			GetTableArea( SCTAB nTab, SCCOL& rEndCol, SCROW& rEndRow ) const;
869
	BOOL			GetTableArea( SCTAB nTab, SCCOL& rEndCol, SCROW& rEndRow ) const;
870
	BOOL			GetPrintArea( SCTAB nTab, SCCOL& rEndCol, SCROW& rEndRow,
870
	BOOL			GetPrintArea( SCTAB nTab, SCCOL& rEndCol, SCROW& rEndRow,
Lines 1381-1386 SC_DLLPUBLIC SvNumberFormatter* GetForma Link Here
1381
										SCTAB nTab, ScQueryParam& rQueryParam );
1381
										SCTAB nTab, ScQueryParam& rQueryParam );
1382
	void 			GetUpperCellString(SCCOL nCol, SCROW nRow, SCTAB nTab, String& rStr);
1382
	void 			GetUpperCellString(SCCOL nCol, SCROW nRow, SCTAB nTab, String& rStr);
1383
1383
1384
    /** Update the dynamic end row position of a current data area. */
1385
    void            UpdateDynamicEndRow(ScDBData& rDBData) const;
1386
1384
	BOOL			GetFilterEntries( SCCOL nCol, SCROW nRow, SCTAB nTab,
1387
	BOOL			GetFilterEntries( SCCOL nCol, SCROW nRow, SCTAB nTab,
1385
								TypedStrCollection& rStrings, bool bFilter = false );
1388
								TypedStrCollection& rStrings, bool bFilter = false );
1386
	SC_DLLPUBLIC BOOL			GetFilterEntriesArea( SCCOL nCol, SCROW nStartRow, SCROW nEndRow,
1389
	SC_DLLPUBLIC BOOL			GetFilterEntriesArea( SCCOL nCol, SCROW nStartRow, SCROW nEndRow,
(-)sc.clean/inc/global.hxx (+2 lines)
Lines 932-937 struct SC_DLLPUBLIC ScQueryParam Link Here
932
	SCTAB			nDestTab;
932
	SCTAB			nDestTab;
933
	SCCOL			nDestCol;
933
	SCCOL			nDestCol;
934
	SCROW			nDestRow;
934
	SCROW			nDestRow;
935
    SCROW           nDynamicEndRow;
936
    bool            bUseDynamicRange;
935
937
936
private:
938
private:
937
	SCSIZE			nEntryCount;
939
	SCSIZE			nEntryCount;
(-)sc.clean/inc/table.hxx (-1 / +1 lines)
Lines 355-361 public: Link Here
355
						SCCOL nStartCol, SCROW nStartRow, SCCOL& rEndCol, SCROW nEndRow );
355
						SCCOL nStartCol, SCROW nStartRow, SCCOL& rEndCol, SCROW nEndRow );
356
356
357
	void		GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow,
357
	void		GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow,
358
								BOOL bIncludeOld );
358
								BOOL bIncludeOld ) const;
359
359
360
	SCSIZE	    GetEmptyLinesInBlock( SCCOL nStartCol, SCROW nStartRow,
360
	SCSIZE	    GetEmptyLinesInBlock( SCCOL nStartCol, SCROW nStartRow,
361
										SCCOL nEndCol, SCROW nEndRow, ScDirection eDir );
361
										SCCOL nEndCol, SCROW nEndRow, ScDirection eDir );
(-)sc.clean/source/core/data/documen3.cxx (+14 lines)
Lines 1282-1287 BOOL ScDocument::HasRowHeader( SCCOL nSt Link Here
1282
//	GetFilterEntries - Eintraege fuer AutoFilter-Listbox
1282
//	GetFilterEntries - Eintraege fuer AutoFilter-Listbox
1283
//
1283
//
1284
1284
1285
void ScDocument::UpdateDynamicEndRow(ScDBData& rDBData) const
1286
{
1287
    SCCOL nCol1, nCol2;
1288
    SCROW nRow1, nRow2;
1289
    SCTAB nTab;
1290
    rDBData.GetArea(nTab, nCol1, nRow1, nCol2, nRow2);
1291
    SCCOL nCol1a = nCol1, nCol2a = nCol2;
1292
    SCROW nRow1a = nRow1, nRow2a = nRow2;
1293
    GetDataArea(nTab, nCol1a, nRow1a, nCol2a, nRow2a, false);
1294
    rDBData.SetDynamicEndRow(nRow2a);
1295
}
1296
1285
BOOL ScDocument::GetFilterEntries( SCCOL nCol, SCROW nRow, SCTAB nTab, TypedStrCollection& rStrings, bool bFilter )
1297
BOOL ScDocument::GetFilterEntries( SCCOL nCol, SCROW nRow, SCTAB nTab, TypedStrCollection& rStrings, bool bFilter )
1286
{
1298
{
1287
	if ( ValidTab(nTab) && pTab[nTab] && pDBCollection )
1299
	if ( ValidTab(nTab) && pTab[nTab] && pDBCollection )
Lines 1289-1294 BOOL ScDocument::GetFilterEntries( SCCOL Link Here
1289
		ScDBData* pDBData = pDBCollection->GetDBAtCursor(nCol, nRow, nTab, FALSE);	//!??
1301
		ScDBData* pDBData = pDBCollection->GetDBAtCursor(nCol, nRow, nTab, FALSE);	//!??
1290
		if (pDBData)
1302
		if (pDBData)
1291
		{
1303
		{
1304
            UpdateDynamicEndRow(*pDBData);
1292
			SCTAB nAreaTab;
1305
			SCTAB nAreaTab;
1293
			SCCOL nStartCol;
1306
			SCCOL nStartCol;
1294
			SCROW nStartRow;
1307
			SCROW nStartRow;
Lines 1300-1305 BOOL ScDocument::GetFilterEntries( SCCOL Link Here
1300
1313
1301
			ScQueryParam aParam;
1314
			ScQueryParam aParam;
1302
			pDBData->GetQueryParam( aParam );
1315
			pDBData->GetQueryParam( aParam );
1316
            nEndRow = aParam.nDynamicEndRow;
1303
			rStrings.SetCaseSensitive( aParam.bCaseSens );
1317
			rStrings.SetCaseSensitive( aParam.bCaseSens );
1304
1318
1305
            // return all filter entries, if a filter condition is connected with a boolean OR
1319
            // return all filter entries, if a filter condition is connected with a boolean OR
(-)sc.clean/source/core/data/document.cxx (-1 / +1 lines)
Lines 584-590 BOOL ScDocument::GetTableArea( SCTAB nTa Link Here
584
//	zusammenhaengender Bereich
584
//	zusammenhaengender Bereich
585
585
586
void ScDocument::GetDataArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow,
586
void ScDocument::GetDataArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow,
587
								SCCOL& rEndCol, SCROW& rEndRow, BOOL bIncludeOld )
587
								SCCOL& rEndCol, SCROW& rEndRow, BOOL bIncludeOld ) const
588
{
588
{
589
	if (VALIDTAB(nTab))
589
	if (VALIDTAB(nTab))
590
		if (pTab[nTab])
590
		if (pTab[nTab])
(-)sc.clean/source/core/data/global2.cxx (-2 / +10 lines)
Lines 295-301 ScQueryParam::ScQueryParam( const ScQuer Link Here
295
		bHasHeader(r.bHasHeader), bByRow(r.bByRow), bInplace(r.bInplace), bCaseSens(r.bCaseSens),
295
		bHasHeader(r.bHasHeader), bByRow(r.bByRow), bInplace(r.bInplace), bCaseSens(r.bCaseSens),
296
		bRegExp(r.bRegExp), bMixedComparison(r.bMixedComparison),
296
		bRegExp(r.bRegExp), bMixedComparison(r.bMixedComparison),
297
        bDuplicate(r.bDuplicate), bDestPers(r.bDestPers),
297
        bDuplicate(r.bDuplicate), bDestPers(r.bDestPers),
298
		nDestTab(r.nDestTab), nDestCol(r.nDestCol), nDestRow(r.nDestRow)
298
		nDestTab(r.nDestTab), nDestCol(r.nDestCol), nDestRow(r.nDestRow),
299
        nDynamicEndRow(r.nDynamicEndRow), bUseDynamicRange(r.bUseDynamicRange)
299
{
300
{
300
	nEntryCount = 0;
301
	nEntryCount = 0;
301
302
Lines 321-326 void ScQueryParam::Clear() Link Here
321
	nTab = SCTAB_MAX;
322
	nTab = SCTAB_MAX;
322
	bHasHeader = bCaseSens = bRegExp = bMixedComparison = FALSE;
323
	bHasHeader = bCaseSens = bRegExp = bMixedComparison = FALSE;
323
	bInplace = bByRow = bDuplicate = bDestPers = TRUE;
324
	bInplace = bByRow = bDuplicate = bDestPers = TRUE;
325
    nDynamicEndRow = 0;
326
    bUseDynamicRange = false;
324
327
325
	Resize( MAXQUERY );
328
	Resize( MAXQUERY );
326
	for (USHORT i=0; i<MAXQUERY; i++)
329
	for (USHORT i=0; i<MAXQUERY; i++)
Lines 347-352 ScQueryParam& ScQueryParam::operator=( c Link Here
347
	bDuplicate	= r.bDuplicate;
350
	bDuplicate	= r.bDuplicate;
348
	bByRow		= r.bByRow;
351
	bByRow		= r.bByRow;
349
	bDestPers	= r.bDestPers;
352
	bDestPers	= r.bDestPers;
353
    nDynamicEndRow = r.nDynamicEndRow;
354
    bUseDynamicRange = r.bUseDynamicRange;
350
355
351
	Resize( r.nEntryCount );
356
	Resize( r.nEntryCount );
352
	for (USHORT i=0; i<nEntryCount; i++)
357
	for (USHORT i=0; i<nEntryCount; i++)
Lines 384-390 BOOL ScQueryParam::operator==( const ScQ Link Here
384
		&& (bDestPers   == rOther.bDestPers)
389
		&& (bDestPers   == rOther.bDestPers)
385
		&& (nDestTab	== rOther.nDestTab)
390
		&& (nDestTab	== rOther.nDestTab)
386
		&& (nDestCol	== rOther.nDestCol)
391
		&& (nDestCol	== rOther.nDestCol)
387
		&& (nDestRow	== rOther.nDestRow) )
392
		&& (nDestRow	== rOther.nDestRow)
393
        && (nDynamicEndRow == rOther.nDynamicEndRow)
394
        && (bUseDynamicRange == rOther.bUseDynamicRange) )
388
	{
395
	{
389
		bEqual = TRUE;
396
		bEqual = TRUE;
390
		for ( USHORT i=0; i<nUsed && bEqual; i++ )
397
		for ( USHORT i=0; i<nUsed && bEqual; i++ )
Lines 446-451 void ScQueryParam::MoveToDest() Link Here
446
        nCol2 = sal::static_int_cast<SCCOL>( nCol2 + nDifX );
453
        nCol2 = sal::static_int_cast<SCCOL>( nCol2 + nDifX );
447
        nRow2 = sal::static_int_cast<SCROW>( nRow2 + nDifY );
454
        nRow2 = sal::static_int_cast<SCROW>( nRow2 + nDifY );
448
        nTab  = sal::static_int_cast<SCTAB>( nTab  + nDifZ );
455
        nTab  = sal::static_int_cast<SCTAB>( nTab  + nDifZ );
456
        nDynamicEndRow = sal::static_int_cast<SCROW>( nDynamicEndRow + nDifY );
449
		for (USHORT i=0; i<nEntryCount; i++)
457
		for (USHORT i=0; i<nEntryCount; i++)
450
			pEntries[i].nField += nDifX;
458
			pEntries[i].nField += nDifX;
451
459
(-)sc.clean/source/core/data/table1.cxx (-1 / +1 lines)
Lines 665-671 BOOL ScTable::GetDataStart( SCCOL& rStar Link Here
665
}
665
}
666
666
667
void ScTable::GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow,
667
void ScTable::GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow,
668
							BOOL bIncludeOld )
668
							BOOL bIncludeOld ) const
669
{
669
{
670
	BOOL bLeft       = FALSE;
670
	BOOL bLeft       = FALSE;
671
	BOOL bRight  = FALSE;
671
	BOOL bRight  = FALSE;
(-)sc.clean/source/core/data/table3.cxx (-1 / +2 lines)
Lines 1363-1368 SCSIZE ScTable::Query(ScQueryParam& rPar Link Here
1363
	BOOL* pSpecial = new BOOL[nEntryCount];
1363
	BOOL* pSpecial = new BOOL[nEntryCount];
1364
    lcl_PrepareQuery( pDocument, this, aParam, pSpecial );
1364
    lcl_PrepareQuery( pDocument, this, aParam, pSpecial );
1365
1365
1366
    SCROW nEndRow = aParam.bUseDynamicRange ? aParam.nDynamicEndRow : aParam.nRow2;
1366
	if (!aParam.bInplace)
1367
	if (!aParam.bInplace)
1367
	{
1368
	{
1368
		nOutRow = aParam.nDestRow + nHeader;
1369
		nOutRow = aParam.nDestRow + nHeader;
Lines 1371-1377 SCSIZE ScTable::Query(ScQueryParam& rPar Link Here
1371
							aParam.nDestCol, aParam.nDestRow, aParam.nDestTab );
1372
							aParam.nDestCol, aParam.nDestRow, aParam.nDestTab );
1372
	}
1373
	}
1373
1374
1374
	for (SCROW j=aParam.nRow1 + nHeader; j<=aParam.nRow2; j++)
1375
	for (SCROW j=aParam.nRow1 + nHeader; j<=nEndRow; j++)
1375
	{
1376
	{
1376
		BOOL bResult;									// Filterergebnis
1377
		BOOL bResult;									// Filterergebnis
1377
		BOOL bValid = ValidQuery(j, aParam, pSpecial);
1378
		BOOL bValid = ValidQuery(j, aParam, pSpecial);
(-)sc.clean/source/core/tool/dbcolect.cxx (-4 / +12 lines)
Lines 671-688 String ScDBData::GetOperations() const Link Here
671
	return aVal;
671
	return aVal;
672
}
672
}
673
673
674
void ScDBData::GetArea(SCTAB& rTab, SCCOL& rCol1, SCROW& rRow1, SCCOL& rCol2, SCROW& rRow2) const
674
void ScDBData::GetArea(SCTAB& rTab, SCCOL& rCol1, SCROW& rRow1, SCCOL& rCol2, SCROW& rRow2, 
675
                       bool bUseDynamicRange) const
675
{
676
{
676
	rTab  = nTable;
677
	rTab  = nTable;
677
	rCol1 = nStartCol;
678
	rCol1 = nStartCol;
678
	rRow1 = nStartRow;
679
	rRow1 = nStartRow;
679
	rCol2 = nEndCol;
680
	rCol2 = nEndCol;
680
	rRow2 = nEndRow;
681
	rRow2 = bUseDynamicRange ? nDynamicEndRow : nEndRow;
681
}
682
}
682
683
683
void ScDBData::GetArea(ScRange& rRange) const
684
void ScDBData::GetArea(ScRange& rRange, bool bUseDynamicRange) const
684
{
685
{
685
	rRange = ScRange( nStartCol,nStartRow,nTable, nEndCol,nEndRow,nTable );
686
    SCROW nNewEndRow = bUseDynamicRange ? nDynamicEndRow : nEndRow;
687
	rRange = ScRange( nStartCol, nStartRow, nTable, nEndCol, nNewEndRow, nTable );
686
}
688
}
687
689
688
void ScDBData::SetArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
690
void ScDBData::SetArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
Lines 694-699 void ScDBData::SetArea(SCTAB nTab, SCCOL Link Here
694
	nEndRow   = nRow2;
696
	nEndRow   = nRow2;
695
}
697
}
696
698
699
void ScDBData::SetDynamicEndRow(SCROW nRow)
700
{
701
    nDynamicEndRow = nRow;
702
}
703
697
void ScDBData::MoveTo(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
704
void ScDBData::MoveTo(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
698
{
705
{
699
	USHORT i;
706
	USHORT i;
Lines 799-804 void ScDBData::GetQueryParam( ScQueryPar Link Here
799
	rQueryParam.nDestTab = nQueryDestTab;
806
	rQueryParam.nDestTab = nQueryDestTab;
800
	rQueryParam.nDestCol = nQueryDestCol;
807
	rQueryParam.nDestCol = nQueryDestCol;
801
	rQueryParam.nDestRow = nQueryDestRow;
808
	rQueryParam.nDestRow = nQueryDestRow;
809
    rQueryParam.nDynamicEndRow = nDynamicEndRow;
802
810
803
	rQueryParam.Resize( MAXQUERY );
811
	rQueryParam.Resize( MAXQUERY );
804
	for (SCSIZE i=0; i<MAXQUERY; i++)
812
	for (SCSIZE i=0; i<MAXQUERY; i++)
(-)sc.clean/source/ui/dbgui/filtdlg.cxx (-1 / +1 lines)
Lines 403-409 void ScFilterDlg::UpdateValueList( USHOR Link Here
403
			{
403
			{
404
				SCTAB nTab		 = nSrcTab;
404
				SCTAB nTab		 = nSrcTab;
405
				SCROW nFirstRow = theQueryData.nRow1;
405
				SCROW nFirstRow = theQueryData.nRow1;
406
				SCROW nLastRow	 = theQueryData.nRow2;
406
				SCROW nLastRow	 = theQueryData.bUseDynamicRange ? theQueryData.nDynamicEndRow : theQueryData.nRow2;
407
407
408
				//	erstmal ohne die erste Zeile
408
				//	erstmal ohne die erste Zeile
409
409
(-)sc.clean/source/ui/inc/dbfunc.hxx (-1 / +1 lines)
Lines 85-91 public: Link Here
85
	void			GotoDBArea( const String& rDBName );
85
	void			GotoDBArea( const String& rDBName );
86
86
87
					// DB-Bereich vom Cursor
87
					// DB-Bereich vom Cursor
88
	ScDBData* 		GetDBData( BOOL bMarkArea = TRUE, ScGetDBMode eMode = SC_DB_MAKE );
88
    ScDBData* 		GetDBData( bool bMarkArea = true, ScGetDBMode eMode = SC_DB_MAKE, bool bExpandRows = false );
89
89
90
	void			NotifyCloseDbNameDlg( const ScDBCollection& rNewColl, const List& rDelAreaList );
90
	void			NotifyCloseDbNameDlg( const ScDBCollection& rNewColl, const List& rDelAreaList );
91
91
(-)sc.clean/source/ui/view/dbfunc.cxx (-3 / +12 lines)
Lines 112-118 void ScDBFunc::GotoDBArea( const String& Link Here
112
112
113
//	aktuellen Datenbereich fuer Sortieren / Filtern suchen
113
//	aktuellen Datenbereich fuer Sortieren / Filtern suchen
114
114
115
ScDBData* ScDBFunc::GetDBData( BOOL bMark, ScGetDBMode eMode )
115
ScDBData* ScDBFunc::GetDBData( bool bMark, ScGetDBMode eMode, bool bExpandRows )
116
{
116
{
117
	ScDocShell* pDocSh = GetViewData()->GetDocShell();
117
	ScDocShell* pDocSh = GetViewData()->GetDocShell();
118
	ScDBData* pData = NULL;
118
	ScDBData* pData = NULL;
Lines 124-134 ScDBData* ScDBFunc::GetDBData( BOOL bMar Link Here
124
					ScRange( GetViewData()->GetCurX(), GetViewData()->GetCurY(),
124
					ScRange( GetViewData()->GetCurX(), GetViewData()->GetCurY(),
125
							 GetViewData()->GetTabNo() ),
125
							 GetViewData()->GetTabNo() ),
126
					eMode, FALSE );
126
					eMode, FALSE );
127
    if (!pData)
128
        return NULL;
127
129
128
	if ( pData && bMark )
130
    if (bExpandRows)
131
    {
132
        // Dynamically expand rows to include any new data rows that are
133
        // immediately below the original range.
134
        GetViewData()->GetDocument()->UpdateDynamicEndRow(*pData);
135
    }
136
137
    if (bMark)
129
	{
138
	{
130
		ScRange aFound;
139
		ScRange aFound;
131
		pData->GetArea(aFound);
140
		pData->GetArea(aFound, bExpandRows);
132
		MarkRange( aFound, FALSE );
141
		MarkRange( aFound, FALSE );
133
	}
142
	}
134
	return pData;
143
	return pData;
(-)sc.clean/source/ui/view/gridwin.cxx (+1 lines)
Lines 1224-1229 void ScGridWindow::ExecFilter( ULONG nSe Link Here
1224
					pViewData->GetViewShell()->UpdateInputHandler();
1224
					pViewData->GetViewShell()->UpdateInputHandler();
1225
				}
1225
				}
1226
1226
1227
                aParam.bUseDynamicRange = true;
1227
				pViewData->GetView()->Query( aParam, NULL, TRUE );
1228
				pViewData->GetView()->Query( aParam, NULL, TRUE );
1228
				pDBData->SetQueryParam( aParam );							// speichern
1229
				pDBData->SetQueryParam( aParam );							// speichern
1229
			}
1230
			}
(-)sc.clean/source/ui/view/tabvwshc.cxx (-2 / +4 lines)
Lines 195-202 SfxModelessDialog* ScTabViewShell::Creat Link Here
195
									 SCITEM_QUERYDATA,
195
									 SCITEM_QUERYDATA,
196
									 SCITEM_QUERYDATA );
196
									 SCITEM_QUERYDATA );
197
197
198
			ScDBData* pDBData = GetDBData();
198
            ScDBData* pDBData = GetDBData(true, SC_DB_MAKE, true);
199
			pDBData->GetQueryParam( aQueryParam );
199
			pDBData->GetQueryParam( aQueryParam );
200
            aQueryParam.bUseDynamicRange = true;
200
201
201
			ScQueryItem aItem( SCITEM_QUERYDATA, GetViewData(), &aQueryParam );
202
			ScQueryItem aItem( SCITEM_QUERYDATA, GetViewData(), &aQueryParam );
202
			ScRange aAdvSource;
203
			ScRange aAdvSource;
Lines 220-227 SfxModelessDialog* ScTabViewShell::Creat Link Here
220
									 SCITEM_QUERYDATA,
221
									 SCITEM_QUERYDATA,
221
									 SCITEM_QUERYDATA );
222
									 SCITEM_QUERYDATA );
222
223
223
			ScDBData* pDBData = GetDBData();
224
            ScDBData* pDBData = GetDBData(true, SC_DB_MAKE, true);
224
			pDBData->GetQueryParam( aQueryParam );
225
			pDBData->GetQueryParam( aQueryParam );
226
            aQueryParam.bUseDynamicRange = true;
225
227
226
			aArgSet.Put( ScQueryItem( SCITEM_QUERYDATA,
228
			aArgSet.Put( ScQueryItem( SCITEM_QUERYDATA,
227
									  GetViewData(),
229
									  GetViewData(),

Return to issue 85305