Pivot-Timelines en Slicer-gegevensstatussen
Beschikbaar sinds versie 2.384.98 voor ondersteunde lokale niet-OLAP-draaitabellen via de XLSX-werkmapfacade
Een Timeline maken en koppelen
TimelineCache := Workbook.CreatePivotTimelineCache(Pivot, 'EventDate');
if TimelineCache = nil then
raise Exception.Create('The Timeline cache was rejected');
TimelineView := ReportSheet.Timelines.Add(TimelineCache, 2, 7, 7, 12);
if TimelineView = nil then
raise Exception.Create('The Timeline view was rejected');
if TimelineCache.SetDateRange(EncodeDate(2026, 1, 1),
EncodeDate(2026, 1, 31)) < 0 then
raise Exception.Create('The Timeline selection was rejected');
TXLSXWorkbook.CreatePivotTimelineCache(ATable: TXLSPivotTable; const AFieldName: WideString): TXLSXTimelineCache maakt een gevalideerde datumveldcache aan of hergebruikt die, samen met de vereiste pakketidentiteiten; bij een fout geeft het nil terug voordat de in staging gezette status wordt vastgelegd
TXLSXWorkbook.TimelineCaches stelt TXLSXTimelineCaches beschikbaar, met Count, zero-based Items[Index] en hoofdletterongevoelige FindByName; de werkmap is eigenaar van deze caches
TXLSXTimelineCache.Name identificeert de cache, SourceName zijn bronveld en IsNonOlapPivot de gevalideerde ondersteunde binding; geïmporteerde niet-ondersteunde caches behouden hun oorspronkelijke XML
TXLSXTimelineCache.ConnectPivotTable(ATable: TXLSPivotTable): Integer koppelt nog een beheerde weergave van dezelfde PivotCache met een compatibel datumveld; het geeft 1 terug bij succes, inclusief een bestaande koppeling, of -1 bij weigering
TXLSXTimelineCache.SetDateRange(AStartDate, AEndDate: TDateTime): Integer gebruikt inclusieve eindpunten op hele dagen en geeft 1 of -1 terug; eindpunten moeten integrale datums zijn van 1 januari 1900 tot en met 31 december 9999, in oplopende volgorde
De ondersteunde werkmap gebruikt het 1900-datasysteem; Date1904-auteurwerk en fractionele selectie-eindpunten worden geweigerd, terwijl bron-datumwaarden een tijdstip mogen behouden en gedurende de gekozen einddag records in aanmerking blijven komen
TXLSXTimelineCache.SelectionActive, StartDate en EndDate stellen de actieve grenzen beschikbaar; ClearSelection: Integer wist die zonder andere filters te veranderen en geeft 1 of -1 terug
Selecties snijden elkaar met andere Slicers, handmatige of paginafilters en predicaten van de aanroeper; deze bewerkingen vernieuwen geen broncaches, herberekenen geen formules en herschrijven geen bestaande werkbladrapportcellen
Timeline-weergaven en verwijdering
TXLSXWorksheet.Timelines stelt de door het werkblad beheerde verzameling TXLSXTimelines beschikbaar, met Add, FindByName, zero-based Items[Index], Count, Delete(Index) en Clear; verwijderen haalt de UI weg terwijl zijn gedeelde cache en selectie behouden blijven
TXLSXTimelines.Add(ACache: TXLSXTimelineCache; ARow1, ACol1, ARow2, ACol2: Integer): TXLSXTimeline accepteert een beheerde ondersteunde cache en een geordende 1-based werkbladrechthoek, en geeft een beheerde weergave of nil terug
TXLSXTimeline.Name is alleen-lezen, Cache identificeert zijn gedeelde cache en Caption wijzigt het weergavelabel; Level accepteert 0 voor jaren, 1 voor kwartalen, 2 voor maanden of 3 voor dagen
TXLSXTimeline.SetBounds wijzigt de 1-based rechthoek die wordt blootgegeven via FromRow, FromCol, ToRow en ToCol; ongeldige geometrie, niet-ondersteunde bindingen of geometrie van gegroepeerde tekenobjecten geeft een exception vóór mutatie
TXLSXDrawingObject.Timeline geeft de bijbehorende weergave terug voor tekensoort xlsxDrawingTimeline; directe niet-ondersteunde teentransformaties blijven bewaakt
Status := Workbook.RemoveTimelineCache(TimelineCache, xlsxSlicerPreserveCurrentSelection);
TXLSXWorkbook.RemoveTimelineCache(ACache: TXLSXTimelineCache; AMode: TXLSXSlicerRemovalMode): Integer zet gekoppelde filters, UI, namen en pakketopschoning samen in staging en geeft 1 of -1 terug
xlsxSlicerClearSelection verwijdert de selectie; xlsxSlicerPreserveCurrentSelection houdt een actieve selectie alleen vast als vergelijking op hele dagen wanneer het datumveld al op een rij- of kolomas staat in elke gekoppelde weergave
Een ongebruikt of alleen-pagina datumveld weigert verwijdering met behoud van selectie atomair; gebruik expliciete verwijdering met wissen van de selectie wanneer dat gedrag bedoeld is
Geïmporteerde filters worden pas genormaliseerd nadat elke koppeling, overgeërfde namespace en exacte herkomst van het beheerde filter valideert; ondoorzichtige attributen of kinderen op hetzelfde veld, vreemde namespaces, externe bindingen en niet-ondersteunde grafen met meerdere UI's behouden hun XML en weigeren mutatie
Native materialisatie zet de actuele Timeline-selectie samen met rapportmetadata en cellen in staging en verwijdert alleen de exacte opgeslagen signatuur van het beheerde filter; willekeurige callback-beperkingen hebben geen native XML-representatie en kunnen door Excel-vernieuwing niet worden gereproduceerd
OOXML-opslag behoudt native relatietypes, oorspronkelijke paden en niet-gerelateerde extensies; Strict-opslag met alleen cache wordt geweigerd, ODS-conversie rapporteert Timeline-verlies en de XLSB-waarden-en-opmaak-subset weigert Timelines
Expliciete native Slicer-gegevensstatusvernieuwing
function TXLSXSlicerCache.RefreshItemDataStates: Integer; overload; function TXLSXSlicerCache.RefreshItemDataStates( AMaxEvaluationSteps: Integer; ACancelFlag: PBoolean = nil): Integer; overload;
De bewerking evalueert de volledige native no-data-vector en zet die in staging en legt die vast onder de schrijfbewaking van de werkmap; succes geeft 1 terug, weigering -1 zonder geserialiseerde itemvlaggen of selecties te wijzigen
Het negeert de eigen selectie van deze Slicer terwijl het snijdt met andere Slicer- en Timeline-selecties, handmatige of paginafilters, ondersteunde aggregaatfilters en predicaten van de aanroeper; beschikbaarheid is de unie over ondersteunde gekoppelde weergaven
Geselecteerde historische leden zonder in aanmerking komende records krijgen de native no-data-vlag terwijl hun selectie behouden blijft; stabiele cache-ID's, oorspronkelijke item-wire-volgorde en niet-gerelateerde XML blijven intact
De standaard cumulatieve staplimiet is 1000000; nul betekent onbeperkte stappen, een negatieve waarde wordt geweigerd en FormulaArrayMemoryLimit begrenst metadatastaging plus alle previews van gekoppelde weergaven cumulatief
Annulering, callback-exceptions of herintrede, bevroren weergaven, niet-ondersteunde bindingen, uitgeputte budgetten of gewijzigde evaluatiestatus worden geweigerd vóór het vastleggen van vlaggen; onafhankelijke common-model-wijzigingen door callbacks van de aanroeper blijven wijzigingen van die aanroeper en leiden tot weigering van de vernieuwing
TXLSXSlicerCache.CrossFilter leest en schrijft de native tabellaire cross-filter-instelling onder de mutatiebewaking; showItemsWithDataAtTop schakelt native data-eerst-volgorde in zonder de item-wire-volgorde te herschrijven
ItemHasData blijft een alleen-lezen query; opslaan roept de evaluator niet aan en werkt no-data-vlaggen niet impliciet bij, dus roep RefreshItemDataStates expliciet aan vóór het opslaan wanneer native UI-status vernieuwd moet worden
Geavanceerde semantiek voor datumfilters
TXLSPivotFilter.UseWholeDay vraagt vergelijkingen op hele dagen aan voor ondersteunde datumfilters; door Timeline gegenereerde behouden selecties gebruiken het, terwijl gewone datumfilters hun vorige tijdgevoelige gedrag houden
Zie native Pivot-uitvoer en alleen-lezen Slicer-beschikbaarheid en lokale cache- en Slicer-levenscyclus voor de omringende vernieuwings- en eigendomscontracten