HotXLS Belgeleri

Non-OLAP Pivot Slicer seçimi

Sürüm 2.384.88; sıradan yerel önbellek alanlarına ve bunlara bağlı PivotTable görünümlerine bağlanabilen, alınmış non-OLAP Pivot Slicer önbelleklerine türlü üye seçimi ekler

Seçimi inceleme ve değiştirme

SlicerCache := Workbook.SlicerCaches.FindByName('SlicerCategory');
if (SlicerCache = nil) or not SlicerCache.IsNonOlapPivot then
  raise Exception.Create('A non-OLAP Pivot Slicer cache is required');
if SlicerCache.SetSelectedItems([1]) <> 1 then
  raise Exception.Create('Slicer selection could not be changed');

TXLSXSlicerCache.IsNonOlapPivot tablosal Pivot şeklini tanımlar; TXLSXSlicerCache.ItemCount, TXLSXSlicerCache.ItemCacheIndex ve TXLSXSlicerCache.ItemSelected ayrıştırılmış üye listesini ve seçimi açığa çıkarır

Üye listesi konumları sıfır tabanlıdır; her ItemCacheIndex, bağlı Pivot önbellek alanındaki bir paylaşılan üyeyi tanımlar; böylece sayı, metin, Boolean, tarih, boş ve hata üyeleri görüntülenen metinleri aynı olsa bile ayrı kimliklerini korur

TXLSXSlicerCacheItem; CacheItemIndex: Integer ve Selected: Boolean saklar; TXLSXSlicerCacheItems bunun dinamik dizi türüdür, önbellek ise seçimi salt okunur indeksli özellikler üzerinden açığa çıkarır

TXLSXSlicerCache.SetSelectedItems paylaşılan üye indekslerini alır; başarıda 1, desteklenmeyen, geçersiz ya da güvenli olmayan bağlamalar için -1 döndürür; boş seçim, dosya biçimi en az bir seçili üye gerektirdiği için reddedilir

TXLSXSlicerCache.ClearSelection aynı durum kuralını döndürür ve tüm üyeleri seçer; diğer alanlardaki bağımsız kısıtlamaları korurken bu Slicer kısıtlamasını kaldırır

Paylaşılan görünümler ve mevcut filtreler

Tek bir Slicer önbelleği içindeki seçili üyeler bir birleşim oluşturur; açıkça bağlı görünümler için uygulanabilir Slicer önbellekleri kesişir, buna seçili alanın o görünümün görüntülenen eksenlerinde bulunmadığı durumlar da dahildir; bir önbelleğin birden çok arayüz Slicer görünümü aynı seçimi paylaşır

Güncel sonuçları hesaplamak için uygulamanın sonuç yazıcısıyla TXLSPivotTable.Make çağırın; önbellek seçim değişiklikleri çalışma sayfası hücrelerini yeniden yazmaz ya da alınmış her yerel düzeni yeniden üretmez

Excel, non-OLAP Slicer seçimlerini sıradan Pivot üye gizleme ve sayfa seçimi olarak saklar; biçim, tek tek gizli bayraklarını hangi işlemin oluşturduğunu kaydetmez

Alınmış bir bağlamayı değiştirmeden önce HotXLS, eski aynı-alan gizleme ve sayfa maskelerinin etkin eski Slicer seçimiyle eşleştiğini doğrular; eşleşen maskeler Slicer tarafından yönetilen sayılır; tutarsız ya da belirsiz maskeler tahmin yürütmeden reddedilir; ilgisiz alanlara ait elle, sayfa ve gelişmiş filtreler etkin kalır

Kaydetme ve kaynak yenileme

Kaydetme; Slicer seçimini ve bağlı Pivot üye maskelerini birlikte günceller, alınmış XML ad alanlarını ve bilinmeyen uzantıları korur ve sayfa bağlantılarını kaydedilmiş kimliklerine yeniden eşler; genişletilmiş Slicer önbellek tanımlayıcıları sıradan çalışma kitabı Pivot önbellek tanımlayıcılarından ayrı kalır

Yerel Pivot önbelleği yenileme seçili paylaşılan üye indekslerini korur; açık alt kümeler yeni üyeleri hariç tutar, temizlenmiş seçimler ise yenilenen etki alanının tamamına izin verir

Sınırlar ve başarısızlık davranışı

Seçim değişiklikleri, işlemesi öncesinde tüm bağlı görünümleri ve üyeleri doğrular ve çalışma kitabının değişiklik korumasını kullanır; başarısızlık, mevcut seçimi, görünüm kısıtlamalarını ve özgün XML'i korur

Slicer önbelleği ekleme, silme ve temizleme de çalışma kitabının yazma korumasını kullanır; donmuş bir çalışma kitabı görünümü, koleksiyon değişikliğiyle bağlı Pivot sonuçlarını değiştiremez

Bağlı bir non-OLAP Pivot önbelleğini silmek ya da böyle bir önbellek içeren koleksiyonu temizlemek, değişiklik öncesinde reddedilir; açık RemoveSlicerCache yaşam döngüsü işlemi, yerel görünümlerini kaldırır ve seçimini ya temizler ya da sıradan Pivot maskelerine devreder

OLAP ve tablo önbelleği seçimi, gruplanmış ya da hesaplanan kaynak alanları, eksik bağlantılar, tutarsız etki alanları ve belirsiz alınmış aynı-alan maskeleri bu işlemin dışında kalır; desteklenmeyen önbellek içerikleri özgün gösterimlerini korur

Bu seçim API'si alınmış ve desteklenen girilmiş Pivot Slicer önbelleklerini yönetir; paylaşılan görünüm yazma ve açık önbellek kaldırma 2.384.94 ile sunulur; güvenli çalışma sayfası somutlaştırma desteklenen hesaplanan çıktıyı değiştirebilir, çapraz filtre veri yoksunu gösterme değerlendirmesi ise ayrı bir iş olarak kalır

Bağlı bir non-OLAP önbelleğin son arayüz görünümünü silmek, çizimini, görünümünü ya da önbelleğini değiştirmeden önce reddedilir; birkaç arayüz görünümünden birini silmek, paylaşılan önbelleği ve seçimi korur

Bir çalışma sayfasının Slicer görünümlerini temizlemek, herhangi bir görünümü kaldırmadan önce etkilenen her önbelleği denetler; son bağlı görünüm atomik reddedilmeye yol açar; diğer çalışma sayfalarıyla paylaşılan görünümler ise önbelleklerini ve seçimlerini korur

Ek kayıt filtreleri

TlxPivotRecordFilter = function(ATable: TXLSPivotTable;
  ARecordIndex: Integer): Boolean of object;
procedure TXLSPivotTable.SetRecordFilter(AOwner: TObject;
  AFilter: TlxPivotRecordFilter);
procedure TXLSPivotTable.ClearRecordFilter(AOwner: TObject);
property TXLSPivotTable.ExternalRecordFilter: TlxPivotRecordFilter;

TXLSPivotTable.SetRecordFilter, nil olmayan sahip başına bir geri çağırı kaydeder ya da değiştirir; TXLSPivotTable.ClearRecordFilter o sahibin geri çağırısını kaldırır; SetRecordFilter'a nil bir geri çağırı geçirmek de onu kaldırır

Kayıtlı geri çağrılar ve isteğe bağlı TXLSPivotTable.ExternalRecordFilter, tablonun kendi filtrelerinden ve toplamasından önce kesişir; çalışma kitabı Slicer geri çağırısını bağımsız kaydeder, bu yüzden çağıranın yüklemesinin üzerine yazmaz

Geri çağrılar sıfır tabanlı kayıt indeksleri alır, her Make çağrısı için anlık görüntülenir ve AssignPivotOnly tarafından serileştirilmez ya da kopyalanmaz; sahipler ve geri çağırı hedefleri çağıranın mülkiyetinde kalır ve kayıtlarından uzun yaşamalıdır