Lokal Pivot-cachelivscyklus og native layout
Version 2.384.94 tilføjer delte-cache-visninger, lokal oprettelse og eksplicit fjernelse af ikke-OLAP Pivot Slicers, grupperet-cache-rekonstruktion og en begrænset native layout-metadatagenerator
Delte visninger og Slicer-oprettelse
SecondPivot := Sheet.AddPivotTable(FirstPivot.Cache, 20, 1, 'SecondView');
Cache := Workbook.CreatePivotSlicerCache(FirstPivot, 'Category');
if Cache.ConnectPivotTable(SecondPivot) <> 1 then
raise Exception.Create('The second view could not be connected');
Slicer := Sheet.Slicers.Add(Cache, 1, 6, 8, 8);
TXLSXWorksheet.AddPivotTable(ACache: TXLSPivotCache; DestRow, DestCol: Integer; const Name: WideString): TXLSPivotTable opretter endnu en visning af en cache ejet af denne projektmappe; den validerer ejerskab, geometri og navne, før visningen tilknyttes
TXLSXWorkbook.CreatePivotSlicerCache(ATable: TXLSPivotTable; const AFieldName: WideString): TXLSXSlicerCache opretter eller genbruger sikkert en understøttet kildefelt-cache, mens TXLSXSlicerCache.ConnectPivotTable(ATable: TXLSPivotTable): Integer forbinder en eksisterende lokal delte-cache-visning
TXLSXSlicers.Add(ACache: TXLSXSlicerCache; ARow1, ACol1, ARow2, ACol2: Integer): TXLSXSlicer opretter regnearkets UI med eksplicitte inklusive 1-baserede cellegænser; kildenavne, cachedele, tegningsreferencer og visningsmedlemskab klargøres før mutation
Grupperede, beregnede og OLAP Slicer-kilder, fremmede caches, inkonsistente importerede domæner og tvetydige uafhængige samme-feltmasker afvises; understøttet importeret visnings-XML beholder urelaterede udvidelser, når et nyt UI tilføjes
Eksplicit fjernelse og fremtidige medlemmer
if Workbook.RemoveSlicerCache(Cache, xlsxSlicerPreserveCurrentSelection) <> 1 then
raise Exception.Create('The Slicer cache could not be removed');
TXLSXSlicerRemovalMode har xlsxSlicerClearSelection og xlsxSlicerPreserveCurrentSelection; TXLSXWorkbook.RemoveSlicerCache(ACache: TXLSXSlicerCache; AMode: TXLSXSlicerRemovalMode): Integer fjerner den bundne UI, tegningsreferencer, native cachedele og forbindelser sammen
Clear-tilstand fjerner denne Slicer-begrænsning, mens uafhængige filtre og kalderprædikater beholdes; preserve-tilstand overfører dens aktuelle begrænsning til almindelige Pivot-medlemsmasker, før Sliceren fjernes
Operationen returnerer 1 ved succes og -1 for ikke-understøttede eller usikre bindinger; alle berørte visninger og cachetilstande valideres og klargøres før commit, og samme-felt-ejerskabstvetydighed afvises uden at gætte
TXLSPivotField.IncludeNewItemsInFilter: Boolean er som standard False; et tilbageholdt manuelt undersæt udelader nytilføjede medlemmer, medmindre denne politik eksplicit aktiveres, mens et ubegrænset felt inkluderer dem
Bevaret selektion forbliver derfor stabil efter kildewækst, mens clear-tilstand inkluderer nye kildemedlemmer; importerede og forfattede medlemslister serialiserer den samme fremtidige-medlem-skjulningspolitik
Eksisterende samlings-Delete- og Clear-operationer beskytter stadig en sidste bundet Slicer-visning; brug den eksplicitte projektmappeoperation, når cachen og dens tilkoblede begrænsninger skal fjernes sammen
Rekonstruktion af fast grupperet cache
Opdatering klargør numeriske, dato- og eksplicitte diskrete gruppeidentiteter ud fra validerede base/parent-links, inklusive importerede afledte felter, hvis postkolonner er fraværende; link-only kildefelter beholder deres oprindelige værdier i stedet for selv at blive grupperet
Understøttede domæner beholder eksisterende medlemhandles, captions og gruppeordinaler; numerisk og datogruppering bruger én opløsning pr. felt og et fast native gruppeelementdomæne, og datogruppering kræver interval én
TXLSPivotCacheField.GroupAutoStart og TXLSPivotCacheField.GroupAutoEnd er som standard True og bevarer den importerede grænsepolitik; nye værdier, der kræver domæneudvidelse eller omgruppering, afvises før mutation
Diskrete grupper kræver en eksisterende mapping for hvert kildemedlem; cykliske forældre, ugyldige typede domæner, ikke-unikke strengcaptions, beregnede baser, member-property-felter og ikke-understøttede forældreopløsninger afvises transaktionelt
Almindelig Make rekonstruerer understøttede forældede eller manglende afledte postværdier, mens MakePreview kun gør det på en detached kopi; gemning udelader interne pladsholder-delte elementer fra afledte native domæner og emitterer præcis de deklarerede gruppeelementindekser
Native layout-metadatapreview
function TryXLSXGeneratePivotLayout(const Xml: WideString; Table: TXLSPivotTable; out ResultXml, Reason: WideString): Boolean;
lxPivotXml-hjælperen klargør rowItems, colItems, akse-metadata og placering for understøttede ikke-tomme lokale kompakte visninger med eksakte felt- og cachemedlemsidentiteter; den understøtter almindelige hierarkier, standard top- eller bunddeltotaler og vilkårlig dataakse
Denne metadata-only-operation kræver eksplicit Cache.RefreshOnLoad=True; den bevarer ukendt XML og returnerer den oprindelige XML plus en engelsk årsag, når grupperede eller beregnede felter, brugerdefinerede deltotaler, ikke-understøttet layout eller inkonsistente importerede identiteter ikke kan repræsenteres
Hjælperen omskriver ikke regnearksceller eller ændrer levende tabelflag; kaldere, der kræver cached regnearksoutput, skal levere en passende writer og en separat understøttet materialiseringsoperation
TXLSPivotTable.MakePreview(AWriter: TlxPivotResultWriter; ALayoutWriter: TlxPivotLayoutWriter): Integer leverer synkrone layout-callbacks fra et detached preview og beholder den oprindelige EvaluationSourceTable-identitet
TlxPivotLayoutWriter modtager den oprindelige tabel, række-/kolonneakse, kopierede feltindeks- og cacheelementindeksvektorer, TlxPivotLayoutItemKind, deltotal-art og præfikslængde; xlplikData, xlplikSubtotal og xlplikGrand adskiller aggregatidentiteter uden at parse captions
Vektorerne bruger TlxPivotLayoutIndices og er gyldige under callbacket; exceptions propagerer, og eksisterende Make og single-writer MakePreview-adfærd forbliver tilgængelig
TXLSPivotTables._AddOwned(ATable: TXLSPivotTable) reserverer samlingskapacitet før ejerskabsoverførsel og understøtter intern transaktionel visningstilknytning; applikationer bør normalt bruge regnearkets forfattermetoder
Grænser
Version 2.384.95 tilføjer native cached regnearksoutput, skrivebeskyttet krydsfilter-tilgængelighed og eksplicit oprydning i historiske medlemmer; serialiseret native no-data-visning, Timeline-forfatterskab og bredere grupperet layout-serialisering beholder separate acceptgrænser