Lokalny cykl życia pamięci podręcznej tabel przestawnych i natywny układ
Wersja 2.384.94 dodaje widoki współdzielonej pamięci podręcznej, lokalne tworzenie i jawne usuwanie Slicerów tabel przestawnych non-OLAP, rekonstrukcję pamięci podręcznej pogrupowanej oraz ograniczony generator metadanych natywnego układu
Widoki współdzielone i tworzenie Slicerów
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 tworzy kolejny widok pamięci podręcznej należącej do tego skoroszytu; waliduje własność, geometrię i nazwy przed dołączeniem widoku
TXLSXWorkbook.CreatePivotSlicerCache(ATable: TXLSPivotTable; const AFieldName: WideString): TXLSXSlicerCache tworzy albo bezpiecznie ponownie używa obsługiwanej pamięci podręcznej pola źródłowego, a TXLSXSlicerCache.ConnectPivotTable(ATable: TXLSPivotTable): Integer łączy istniejący lokalny widok współdzielonej pamięci podręcznej
TXLSXSlicers.Add(ACache: TXLSXSlicerCache; ARow1, ACol1, ARow2, ACol2: Integer): TXLSXSlicer tworzy UI arkusza z jawnymi włącznymi granicami komórek numerowanymi od 1; nazwy źródłowe, części pamięci podręcznej, odwołania rysunków i przynależność widoku są etapowane przed mutacją
Pogrupowane, obliczeniowe i OLAP źródła Slicerów, obce pamięci podręczne, niespójne zaimportowane dziedziny i dwuznaczne niezależne maski tego samego pola są odrzucane; obsługiwany zaimportowany XML widoku zachowuje niepowiązane rozszerzenia przy dołączaniu nowego UI
Jawne usuwanie i przyszłe elementy
if Workbook.RemoveSlicerCache(Cache, xlsxSlicerPreserveCurrentSelection) <> 1 then
raise Exception.Create('The Slicer cache could not be removed');
TXLSXSlicerRemovalMode ma wartości xlsxSlicerClearSelection i xlsxSlicerPreserveCurrentSelection; TXLSXWorkbook.RemoveSlicerCache(ACache: TXLSXSlicerCache; AMode: TXLSXSlicerRemovalMode): Integer usuwa związane UI, odwołania rysunków, natywne części pamięci podręcznej i połączenia razem
Tryb czyszczenia usuwa to ograniczenie Slicera, zachowując niezależne filtry i predykaty wywołującego; tryb zachowania przenosi bieżące ograniczenie do zwykłych masek elementów tabeli przestawnej przed usunięciem Slicera
Operacja zwraca 1 po sukcesie i -1 dla powiązań nieobsługiwanych albo niebezpiecznych; wszystkie dotknięte widoki i stan pamięci podręcznej są walidowane i etapowane przed zatwierdzeniem, a dwuznaczna własność tego samego pola jest odrzucana bez zgadywania
TXLSPivotField.IncludeNewItemsInFilter: Boolean domyślnie ma wartość False; zachowany ręczny podzbiór wyklucza nowo dołączone elementy, chyba że ta polityka zostanie jawnie włączona, podczas gdy nieograniczone pole je włącza
Zachowany wybór pozostaje więc stabilny po wzroście źródła, podczas gdy tryb czyszczenia włącza nowe elementy źródłowe; zaimportowane i napisane listy elementów serializują tę samą politykę ukrywania przyszłych elementów
Istniejące operacje kolekcji Delete i Clear nadal chronią ostateczny związany widok Slicera; użyj jawnego operacji skoroszytu, gdy pamięć podręczna i jej połączone ograniczenia muszą zostać usunięte razem
Stała rekonstrukcja pamięci podręcznej pogrupowanej
Odświeżenie etapuje liczbowe, datowe i jawne dyskretne tożsamości grup ze zwalidowanych powiązań bazowe/nadrzędne, łącznie z zaimportowanymi polami pochodnymi, których kolumny rekordów nie ma; pola źródłowe wyłącznie z powiązaniem zachowują swoje pierwotne wartości zamiast być same grupowane
Obsługiwane dziedziny zachowują istniejące uchwyty elementów, podpisy i porządki grup; grupowanie liczbowe i datowe korzysta z jednego rozwiązania na pole i stałej natywnej dziedziny elementów grupy, a grupowanie datowe wymaga interwału równego jeden
TXLSPivotCacheField.GroupAutoStart i TXLSPivotCacheField.GroupAutoEnd domyślnie mają wartość True i zachowują zaimportowaną politykę granic; nowe wartości wymagające rozszerzenia dziedziny albo przegrupowania są odrzucane przed mutacją
Grupy dyskretne wymagają istniejącego mapowania dla każdego elementu źródłowego; cykliczni rodzice, nieprawidłowe typowane dziedziny, nieunikalne podpisy tekstowe, obliczeniowe bazy, pola właściwości elementów i nieobsługiwane rozwiązania nadrzędne są odrzucane transakcyjnie
Zwykłe Make odtwarza obsługiwane nieaktualne albo brakujące pochodne wartości rekordów, podczas gdy MakePreview robi to tylko na odłączonej kopii; zapis pomija wewnętrzne elementy współdzielone-placeholdery z pochodnych natywnych dziedzin i emituje dokładnie zadeklarowane indeksy elementów grupy
Podgląd metadanych natywnego układu
function TryXLSXGeneratePivotLayout(const Xml: WideString; Table: TXLSPivotTable; out ResultXml, Reason: WideString): Boolean;
Pomocnik lxPivotXml etapuje rowItems, colItems, metadane osi i lokalizację dla obsługiwanych niepustych lokalnych widoków kompaktowych, używając dokładnych tożsamości pól i elementów pamięci podręcznej; obsługuje zwykłe hierarchie, domyślne sumy częściowe górne albo dolne i dowolną oś danych
Ta operacja tylko-metadane wymaga jawnego Cache.RefreshOnLoad=True; zachowuje nieznany XML i zwraca pierwotny XML plus angielski powód, gdy pola pogrupowane albo obliczeniowe, niestandardowe sumy częściowe, nieobsługiwany układ lub niespójne zaimportowane tożsamości nie da się przedstawić
Pomocnik nie przepisuje komórek arkusza ani nie zmienia flag żywej tabeli; wywołujący wymagający zapamiętanych komórek arkusza muszą dostarczyć odpowiedni pisarz i osobno obsługiwaną operację materializacji
TXLSPivotTable.MakePreview(AWriter: TlxPivotResultWriter; ALayoutWriter: TlxPivotLayoutWriter): Integer dostarcza synchroniczne callbacki układu z odłączonego podglądu, zachowując pierwotną tożsamość EvaluationSourceTable
TlxPivotLayoutWriter otrzymuje pierwotną tabelę, oś wierszy/kolumn, skopiowane wektory indeksów pól i elementów pamięci podręcznej, TlxPivotLayoutItemKind, rodzaj sumy częściowej i długość przedrostka; xlplikData, xlplikSubtotal i xlplikGrand odróżniają tożsamości agregatów bez parsowania podpisów
Wektory korzystają z TlxPivotLayoutIndices i są ważne w trakcie callbacka; wyjątki propagują się, a istniejące zachowania Make i jedno-pisarzowego MakePreview pozostają dostępne
TXLSPivotTables._AddOwned(ATable: TXLSPivotTable) rezerwuje pojemność kolekcji przed transferem własności i wspiera wewnętrzne transakcyjne dołączanie widoków; aplikacje powinny normalnie korzystać z metod autorskich arkusza
Granice
Wersja 2.384.95 dodaje natywne zapamiętane wyjście arkuszowe, dostępność cross-filter tylko do odczytu i jawne czyszczenie elementów historycznych; zserializowany natywny widok braku danych, autorskie Timeline i szersza serializacja pogrupowanego układu zachowują osobne granice akceptacji