Timeline tabel przestawnych i stany danych Slicerów
Dostępne od wersji 2.384.98 dla obsługiwanych lokalnych tabel przestawnych non-OLAP poprzez fasadę skoroszytu XLSX
Tworzenie i łączenie Timeline
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 tworzy albo ponownie używa zwalidowanej pamięci podręcznej pola daty i jej wymaganych tożsamości pakietu; błąd zwraca nil przed zatwierdzeniem etapowanego stanu
TXLSXWorkbook.TimelineCaches ujawnia TXLSXTimelineCaches z Count, numerowanymi od zera Items[Index] i nierozróżniającą wielkości liter FindByName; skoroszyt posiada te pamięci podręczne
TXLSXTimelineCache.Name identyfikuje pamięć podręczną, SourceName identyfikuje jej pole źródłowe, a IsNonOlapPivot identyfikuje zwalidowane obsługiwane powiązanie; zaimportowane nieobsługiwane pamięci podręczne zachowują swój pierwotny XML
TXLSXTimelineCache.ConnectPivotTable(ATable: TXLSPivotTable): Integer łączy kolejny posiadany widok tego samego PivotCache z kompatybilnym polem daty; zwraca 1 dla sukcesu, łącznie z istniejącym połączeniem, albo -1 przy odrzuceniu
TXLSXTimelineCache.SetDateRange(AStartDate, AEndDate: TDateTime): Integer korzysta z włącznych końcówek całych dni i zwraca 1 albo -1; końcówki muszą być całkowitymi datami od 1 stycznia 1900 do 31 grudnia 9999 w kolejności rosnącej
Obsługiwany skoroszyt korzysta z systemu daty 1900; autorskie Date1904 i ułamkowe końcówki wyboru są odrzucane, podczas gdy źródłowe wartości dat mogą zachowywać porę dnia, a rekordy w całym wybranym dniu końcowym pozostają kwalifikowalne
TXLSXTimelineCache.SelectionActive, StartDate i EndDate ujawniają aktywne granice; ClearSelection: Integer je czyści bez zmiany innych filtrów i zwraca 1 albo -1
Wybory przecinają się z innymi Slicerami, filtrami ręcznymi albo stronicowymi i predykatami wywołującego; te operacje nie odświeżają pamięci podręcznych źródeł, nie przeliczają formuł ani nie przepisują istniejących komórek raportu arkusza
Widoki Timeline i usuwanie
TXLSXWorksheet.Timelines ujawnia należącą arkuszowi kolekcję TXLSXTimelines z Add, FindByName, numerowanymi od zera Items[Index], Count, Delete(Index) i Clear; usunięcie zdejmuje UI, zachowując jego współdzieloną pamięć podręczną i wybór
TXLSXTimelines.Add(ACache: TXLSXTimelineCache; ARow1, ACol1, ARow2, ACol2: Integer): TXLSXTimeline przyjmuje posiadany obsługiwany cache i uporządkowany prostokąt arkusza numerowany od 1, zwracając posiadany widok albo nil
TXLSXTimeline.Name jest tylko do odczytu, Cache identyfikuje współdzielony cache, a Caption zmienia etykietę wyświetlaną; Level przyjmuje 0 dla lat, 1 dla kwartałów, 2 dla miesięcy albo 3 dla dni
TXLSXTimeline.SetBounds zmienia prostokąt numerowany od 1, ujawniany przez FromRow, FromCol, ToRow i ToCol; nieprawidłowa geometria, nieobsługiwane powiązania albo pogrupowana geometria rysunku podnoszą wyjątek przed mutacją
TXLSXDrawingObject.Timeline zwraca powiązany widok dla rodzaju rysunku xlsxDrawingTimeline; bezpośrednie nieobsługiwane transformacje rysunku pozostają chronione
Status := Workbook.RemoveTimelineCache(TimelineCache, xlsxSlicerPreserveCurrentSelection);
TXLSXWorkbook.RemoveTimelineCache(ACache: TXLSXTimelineCache; AMode: TXLSXSlicerRemovalMode): Integer etapuje połączone filtry, UI, nazwy i sprzątanie pakietu razem oraz zwraca 1 albo -1
xlsxSlicerClearSelection usuwa wybór; xlsxSlicerPreserveCurrentSelection zachowuje aktywny wybór jako porównanie dat całodniowych tylko wtedy, gdy pole daty już leży na osi wierszy albo kolumn w każdym połączonym widoku
Nieużywane albo tylko-stronicowe pole daty odrzuca usuwanie z zachowaniem wyboru atomowo; gdy taka zmiana jest zamierzona, użyj usuwania z jawnym czyszczeniem wyboru
Zaimportowane filtry normalizują się dopiero po zwalidowaniu każdego połączenia, odziedziczonej przestrzeni nazw i dokładnego pochodzenia posiadanego filtra; nieprzejrzyste atrybuty albo potomkowie tego samego pola, obce przestrzenie nazw, zewnętrzne powiązania i nieobsługiwane grafy wielu UI zachowują swój XML i odrzucają mutację
Natywna materializacja etapuje bieżący wybór Timeline z metadanymi raportu i komórkami, usuwając tylko dokładną zapisaną sygnaturę posiadanego filtra; dowolne restrykcje callbacków nie mają natywnej reprezentacji XML i nie dają się odtworzyć przez odświeżenie Excela
Zapis OOXML zachowuje natywne typy relacji, pierwotne ścieżki i niepowiązane rozszerzenia; zapis tylko-cache Strict jest odrzucany, konwersja ODS raportuje utratę Timeline, a podzbiór wartości i stylów XLSB odrzuca Timeline
Jawne natywne odświeżanie stanów danych Slicerów
function TXLSXSlicerCache.RefreshItemDataStates: Integer; overload; function TXLSXSlicerCache.RefreshItemDataStates( AMaxEvaluationSteps: Integer; ACancelFlag: PBoolean = nil): Integer; overload;
Operacja ewaluuje i etapuje pełny natywny wektor braku danych, po czym zatwierdza pod strażnikiem zapisu skoroszytu; sukces zwraca 1, odrzucenie zwraca -1 bez zmiany zserializowanych flag elementów ani wyborów
Ignoruje własny wybór tego Slicera, przecinając przy tym wybory innych Slicerów i Timeline, filtry ręczne albo stronicowe, obsługiwane filtry agregujące i predykaty wywołującego; dostępność jest unią w poprzek obsługiwanych połączonych widoków
Wybrane elementy historyczne bez kwalifikowalnych rekordów otrzymują natywną flagę braku danych, zachowując przy tym swój wybór; stabilne identyfikatory pamięci podręcznej, pierwotna kolejność zapisu elementów i niepowiązany XML pozostają nienaruszone
Domyślny skumulowany limit kroków to 1000000; zero oznacza kroki nieograniczone, wartość ujemna jest odrzucana, a FormulaArrayMemoryLimit ogranicza skumulowanie etapowania metadanych i wszystkich podglądów połączonych widoków
Anulowanie, wyjątki albo ponowne wejście callbacków, zamrożone widoki, nieobsługiwane powiązania, wyczerpane budżety albo zmieniony stan ewaluacji są odrzucane przed zatwierdzeniem flag; niezależne zmiany wspólnego modelu dokonane przez callbacki wywołującego pozostają jego zmianami i powodują odrzucenie odświeżenia
TXLSXSlicerCache.CrossFilter czyta i zapisuje natywne tabelaryczne ustawienie cross-filter pod strażnikiem mutacji; showItemsWithDataAtTop włącza natywne uporządkowanie dane-najpierw bez przepisywania kolejności zapisu elementów
ItemHasData pozostaje zapytaniem tylko do odczytu; zapis nie wywołuje ewaluatora i nie aktualizuje jawnie flag braku danych, więc wywołaj RefreshItemDataStates jawnie przed zapisem, gdy natywny stan UI musi zostać odświeżony
Zaawansowana semantyka filtrów dat
TXLSPivotFilter.UseWholeDay żąda całodniowych porównań dat dla obsługiwanych filtrów dat; zachowane wybory generowane przez Timeline z niego korzystają, podczas gdy zwykłe filtry dat zachowują poprzednie zachowanie wrażliwe na porę dnia
Zobacz natywne wyjście tabel przestawnych i dostępność Slicerów tylko do odczytu oraz lokalny cykl życia pamięci podręcznej i Slicerów dla otaczających kontraktów odświeżania i własności