Yerel Pivot önbelleği yaşam döngüsü ve yerel düzen
Sürüm 2.384.94; paylaşılan önbellekli görünümleri, yerel non-OLAP Pivot Slicer oluşturma ve açık kaldırmayı, gruplanmış önbellek yeniden kurulumunu ve sınırlı bir yerel düzen üst verisi üretecini ekler
Paylaşılan görünümler ve Slicer oluşturma
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, bu çalışma kitabının sahibi olduğu bir önbelleğin ikinci bir görünümünü oluşturur; görünümü eklemeden önce sahipliği, geometriyi ve adları doğrular
TXLSXWorkbook.CreatePivotSlicerCache(ATable: TXLSPivotTable; const AFieldName: WideString): TXLSXSlicerCache, desteklenen bir kaynak alan önbelleği oluşturur ya da güvenle yeniden kullanır; TXLSXSlicerCache.ConnectPivotTable(ATable: TXLSPivotTable): Integer ise mevcut bir yerel paylaşılan önbellekli görünümü bağlar
TXLSXSlicers.Add(ACache: TXLSXSlicerCache; ARow1, ACol1, ARow2, ACol2: Integer): TXLSXSlicer, açık kapsayıcı 1 tabanlı hücre sınırlarıyla çalışma sayfası arayüzünü oluşturur; kaynak adları, önbellek parçaları, çizim atıfları ve görünüm üyeliği değişiklik öncesinde hazırlanır
Gruplanmış, hesaplanan ve OLAP Slicer kaynakları, yabancı önbellekler, tutarsız alınmış etki alanları ve belirsiz bağımsız aynı-alan maskeleri reddedilir; desteklenen alınmış görünüm XML'i, yeni bir arayüz eklendiğinde ilgisiz uzantıları korur
Açık kaldırma ve gelecek üyeler
if Workbook.RemoveSlicerCache(Cache, xlsxSlicerPreserveCurrentSelection) <> 1 then
raise Exception.Create('The Slicer cache could not be removed');
TXLSXSlicerRemovalMode; xlsxSlicerClearSelection ve xlsxSlicerPreserveCurrentSelection değerlerine sahiptir; TXLSXWorkbook.RemoveSlicerCache(ACache: TXLSXSlicerCache; AMode: TXLSXSlicerRemovalMode): Integer, bağlı arayüzü, çizim atıflarını, yerel önbellek parçalarını ve bağlantıları birlikte kaldırır
Temizleme modu, bağımsız filtreleri ve çağıranın yüklemlerini korurken bu Slicer kısıtlamasını kaldırır; koruma modu, Slicer'ı kaldırmadan önce güncel kısıtlamasını sıradan Pivot üye maskelerine devreder
İşlem başarıda 1, desteklenmeyen ya da güvenli olmayan bağlamalar için -1 döndürür; etkilenen tüm görünümler ve önbellek durumu, işleme öncesinde doğrulanır ve hazırlanır; aynı-alan sahipliği belirsizliği tahmin yürütmeden reddedilir
TXLSPivotField.IncludeNewItemsInFilter: Boolean varsayılan olarak False'tur; tutulan bir elle seçim alt kümesi, bu ilke açıkça etkinleştirilmedikçe yeni eklenen üyeleri hariç tutar, kısıtlanmamış bir alan ise bunları dahil eder
Böylece korunan seçim, kaynak büyüdükten sonra kararlı kalır; temizleme modu ise yeni kaynak üyelerini dahil eder; alınmış ve girilmiş üye listeleri aynı gelecek üye gizleme ilkesini serileştirir
Mevcut koleksiyon Delete ve Clear işlemleri son bağlı Slicer görünümünü yine korur; önbelleğin ve bağlı kısıtlamalarının birlikte kaldırılması gerektiğinde açık çalışma kitabı işlemini kullanın
Sabit gruplanmış önbellek yeniden kurulumu
Yenileme; doğrulanmış taban/ebeveyn bağlantılarından sayısal, tarih ve açık ayrık grup kimliklerini hazırlar, buna kayıt sütunları bulunmayan alınmış türetilmiş alanlar da dahildir; yalnızca bağlantı içeren kaynak alanlar kendileri gruplanmak yerine özgün değerlerini korur
Desteklenen etki alanları mevcut üye tutamaçlarını, başlıkları ve grup sıra numaralarını korur; sayısal ve tarih gruplandırması alan başına tek bir çözümleme ve sabit bir yerel grup öğesi etki alanı kullanır, tarih gruplandırması ise bir aralık ister
TXLSPivotCacheField.GroupAutoStart ve TXLSPivotCacheField.GroupAutoEnd varsayılan olarak True'dur ve alınmış sınır ilkesini korur; etki alanı genişlemesi ya da yeniden gruplandırma gerektiren yeni değerler değişiklik öncesinde reddedilir
Ayrık gruplar her kaynak üye için mevcut bir eşleme ister; döngüsel ebeveynler, geçersiz türlü etki alanları, benzersiz olmayan dize başlıkları, hesaplanan tabanlar, üye-özellik alanları ve desteklenmeyen ebeveyn çözümlemeleri işlemsel olarak reddedilir
Sıradan Make, desteklenen eskimiş ya da eksik türetilmiş kayıt değerlerini yeniden kurar; MakePreview bunu yalnızca koparılmış bir kopya üzerinde yapar; kaydetme, türetilmiş yerel etki alanlarından iç yer tutucu paylaşılan öğeleri atlar ve tam olarak bildirilen grup öğesi indekslerini yazar
Yerel düzen üst verisi önizlemesi
function TryXLSXGeneratePivotLayout(const Xml: WideString; Table: TXLSPivotTable; out ResultXml, Reason: WideString): Boolean;
lxPivotXml yardımcısı; desteklenen boş olmayan yerel kompakt görünümler için tam alan ve önbellek üyesi kimliklerini kullanarak rowItems, colItems, eksen üst verisini ve konumu hazırlar; sıradan hiyerarşileri, varsayılan üst ya da alt ara toplamları ve iki veri ekseninden birini destekler
Bu yalnızca üst veri işlemi açık bir Cache.RefreshOnLoad=True ister; bilinmeyen XML'i korur ve gruplanmış ya da hesaplanan alanlar, özel ara toplamlar, desteklenmeyen düzen ya da tutarsız alınmış kimlikler gösterilemediğinde özgün XML'e İngilizce bir neden ekleyerek döndürür
Yardımcı, çalışma sayfası hücrelerini yeniden yazmaz ya da canlı tablo bayraklarını değiştirmez; önbelleğe alınmış çalışma sayfası çıktısı isteyen çağıranlar uygun bir yazıcı ve ayrıca desteklenen bir somutlaştırma işlemi sağlamalıdır
TXLSPivotTable.MakePreview(AWriter: TlxPivotResultWriter; ALayoutWriter: TlxPivotLayoutWriter): Integer, koparılmış bir önizlemeden eşzamanlı düzen geri çağrıları sağlar ve özgün EvaluationSourceTable kimliğini korur
TlxPivotLayoutWriter; özgün tabloyu, satır/sütun eksenini, kopyalanmış alan-indeks ve önbellek öğesi-indeks vektörlerini, TlxPivotLayoutItemKind, ara toplam türünü ve önek uzunluğunu alır; xlplikData, xlplikSubtotal ve xlplikGrand, başlıkları ayrıştırmadan toplama kimliklerini ayırır
Vektörler TlxPivotLayoutIndices kullanır ve geri çağırı boyunca geçerlidir; istisnalar yukarı iletilir; mevcut Make ve tek yazıcılı MakePreview davranışı kullanılabilir kalır
TXLSPivotTables._AddOwned(ATable: TXLSPivotTable), sahiplik aktarımından önce koleksiyon kapasitesi ayırır ve iç işlemsel görünüm eklemeyi destekler; uygulamalar normalde çalışma sayfası yazma yöntemlerini kullanmalıdır
Sınırlar
Sürüm 2.384.95; yerel önbelleğe alınmış çalışma sayfası çıktısını, salt okunur çapraz filtre kullanılabilirliğini ve açık geçmiş üye temizliğini ekler; serileştirilmiş yerel veri yoksunu gösterme, Zaman çizelgesi yazma ve daha geniş gruplanmış düzen serileştirmesi ayrı kabul sınırlarını korur