Güvenli Pivot çalışma sayfası somutlaştırma
Sürüm 2.384.90, yalıtılmış Pivot değerlendirmesi ve korumalı çalışma sayfası sonuç değişimi ekler; sürüm 2.384.92, desteklenen yerel kaynakları her çağrıda çözümlenen tanımlı adlar ve tablolarla genişletir
Görünümü somutlaştırma
if Workbook.RefreshPivotCache(Pivot.CacheId) <> 1 then
raise Exception.Create('Pivot cache refresh failed');
if Workbook.MaterializePivotTable(Pivot) <> 1 then
raise Exception.Create('Pivot output cannot be replaced safely');
TXLSXWorkbook.MaterializePivotTable(ATable: TXLSPivotTable): Integer sonuçları geçerli önbellekten hesaplar ve görünümün FirstRow ile FirstCol konumlarına yerleştirir; başarıda 1, desteklenmeyen kaynaklar, güvenli olmayan hedefler, değerlendirme başarısızlığı ya da reddedilen çalışma kitabı değişikliği için -1 döndürür
Yenileme ve çalışma sayfası yeniden hesaplaması açık işlemler olarak kalır; başarılı somutlaştırma hesaplama bağımlılıklarını geçersiz kılar, böylece çağıranlar uygun olduğunda akış formüllerini yeniden hesaplayabilir
Varsayılan aşırı yükleme; boş hedef hücrelerini ve daha önce aynı görünümün sahiplendiği değişmemiş hücreleri kabul eder; tam çıktı dikdörtgeni içinde herhangi bir yerde duran sahipsiz dolu hücreler işlemi reddeder, buna sonuç yazıcısının doldurmadığı boşluklar da dahildir
if Workbook.MaterializePivotTable(Pivot, True) <> 1 then
raise Exception.Create('Existing Pivot values cannot be adopted safely');
TXLSXWorkbook.MaterializePivotTable(ATable: TXLSPivotTable; AAdoptExisting: Boolean): Integer, ilk somutlaştırmada görünümün bildirilen önceki dikdörtgeni içindeki mevcut skaler hücreleri açıkça sahiplenebilir; formülleri, dizi üyelerini, zengin metni, üst veri taşıyan hücreleri ya da o dikdörtgen dışındaki içeriği değiştirme yetkisi vermez
Sahiplik, yeniden boyutlandırma ve taşıma
Görünüm, yazılan hücreler için tam koordinatları ve türlü değer anlık görüntülerini tutar; XLSX kaydetme bu sahipliği Pivot tanımında korur, böylece sonraki güncellemeler yeniden açma sonrasında onu doğrulayabilir
Değişmiş türlü içerik ya da kaldırılmış boş olmayan sahipli hücre güncellemenin tamamını reddettirir; sayı alt türleri kurallı bir sayısal gösterimi paylaşır, metin, Boolean değerler ve hatalar ise ayrı kimliklerini korur
Sonucu küçültmek ya da taşımak yalnızca artık üretilmeyen, değişmemiş sahipli değerleri temizler; mevcut hücre nesneleri, biçimlendirme ve yorumlar kullanılabilir kalır, ilgisiz hücreler sahiplik kümesinin dışında kalır
FirstRow ya da FirstCol değerini değiştirmek sonraki çıktıyı taşır; önceki sahiplik koordinatları temizlik için kullanılabilir kalır; boş bir sonuç sahipli değerleri temizler ve yalnızca çapa içeren bir konum tutar
Yalıtılmış önizleme
function TXLSPivotTable.MakePreview(AWriter: TlxPivotResultWriter): Integer; property TXLSPivotTable.EvaluationSourceTable: TXLSPivotTable;
TXLSPivotTable.MakePreview, hesaplanan alan yer tutucuları dahil önbelleğin ve görünümün bağımsız kopyalarını kullanır ve değerlendirme sonrasında bunları atar; sıradan Make mevcut canlı önbellek davranışını korur
Yazıcı sıfır tabanlı satır ve sütun ofsetleri ile türlü değerler alır; dönüş değeri Make'in toplama hücresi sayısını izler, bu sayı yazıcı çağrısı sayısından ayrıdır; önbellek ya da yazıcı yoksa sıfır döner, değerlendirme ya da yazıcı istisnaları yukarı iletilir
Çağıranın kayıt yüklemleri ve kayıtlı sahip filtreleri önizlemelerde etkin kalır, çalışma kitabı Slicer seçimleri dahil; geri çağrılar geçici değerlendirilmiş görünümü ve onun geçici önbelleğini alır
TXLSPivotTable.EvaluationSourceTable, sıradan bir değerlendirme için canlı görünümü, önizleme için ise özgün canlı görünümü döndürür; bir geri çağırı bağlı bir görünümü tanımlaması gerektiğinde bunu kullanın, değerlendirilmiş kayıtları ise geri çağırının geçici Cache'inden okuyun
Geri çağırı sahipleri çağıranın mülkiyetinde kalır; önizleme nesneleri ve kayıtları, geri çağırı ya da önizleme çağrısı bittikten sonra saklanmamalıdır
Güvenlik sınırları
Somutlaştırma; aynı çalışma kitabına kayıtlı bir görünüm ve önbellek ile desteklenen yerel dikdörtgen, tanımlı ad ya da tablo kaynağı ister; kaynak çözümlemesi güncel adları ve tablo kapsamlarını izler, desteklenmeyen ya da çözümlenemeyen kaynaklar değişiklik öncesinde reddedilir
Güncel kaynak geometrisi, diğer Pivot konumları, yapılandırılmış tablolar, sorgu sonuç aralıkları, birleştirilmiş hücreler ve sabit ya da dinamik diziler; yeni çıktıyla ya da temizlenmesi gereken eski sahipli hücrelerle kesişemez; tablo toplamları önbellek kayıtlarının dışında tutulsa da korunmaya devam eder
Doğrulama ve çıktı hazırlığı bir okuma kirası altında yürür, ardından sıradan çalışma kitabı değişiklik koruması ve üretim denetimi gelir; donmuş salt okunur çalışma kitabı görünümü, hücreleri değiştirmeden ya da geometriyi bozmadan somutlaştırmayı reddeder
Filtreler salt okunur olmalı ve çalışma kitabının sıradan tek yazıcı sözleşmesine uymalıdır; yalıtım, sıradan önizleme hesaplamalarının canlı önbelleği değiştirmesini engeller; ayrı yakalanmış canlı nesneler üzerinden yapılan keyfi geri çağırı yazmaları ise geri alınamaz
Bu işlem, kütüphanenin hesaplanan sonuç düzenini somutlaştırır; eksiksiz yerel Pivot düzeni yazma, Slicer arayüzü oluşturma ve çapraz filtre veri yoksunu gösterme değerlendirmesi ayrı yetenekler olarak kalır