HotXLS-documentatie / API-naslag

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