SORU
25 Mart 2011, Cuma


Görüntülenemiyor 2008 R2 - SSR Safari/2012 Raporları Chrome ama FireFox çalışıyor ince/IE8... neden OLMALIDIR?

SSR 2008 R2 bazı basit raporlar var ama Safari veya Krom görüntü vermiyorlar. Microsoft Books Online göre, bu tarayıcılar sınırlı bir biçimde desteklenmektedir. Ancak veri sonrasında hiçbir şey göremiyorum "Yükleme" saat tamamlar. Parametre çubuğu ve sayfanın en üstünde ekmek kırıntısı navigasyon bölümü var. Ayrıca, Safari ve Chrome üzerinde herhangi bir biçimine/İhracat kurtarabilirim. Bu sadece boş olan rapor bölümüne kendini göstermez.

Sertifikalar ve güvenli bağlantı (https, sadece http ile ayar mevcut değil) kullanmak gerekiyor? Herhangi bir sunucu çekilmesi gereken yan yapılandırmaları vardır? Başarı gösteren varHERHANGİ birSafari/raporlar önceki SSR sürümleri (2005) kullanılarak Krom?

Safari 5.0.4 ve Krom 10.0.648.151 kullanıyorum. Bu iki tarayıcı için benzerlik ikisi de piyasaya sürdü olduğunu biliyorum.

Rapor başarıyla IE8 (tabi) işler ve 4.0 FireFox.

Eğer birisi biraz ışık tutabilir Eğer gerçekten takdir ediyorum.

Şimdiden teşekkürler. - Greg

CEVAP
29 AĞUSTOS 2011, PAZARTESİ


Nihai çözüm (Ayrıca BKZ çalışan 2012)

  1. BKZ Sunucuya gidin
  2. Dosya C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\js\ReportingServices.js Düzenle
  3. Aşağıdaki komut dosyası Ekle:

    function pageLoad() {    
      var element = document.getElementById("ctl31_ctl09");
      if (element) {
        element.style.overflow = "visible"; 
      } 
    }
    

İşte bu!

Dikkat lütfen: Div adı her zaman ctl31_ctl09 değil. Önceki bir hizmet paketi ctl31_ctl10 yerine.
Eğer bu çözüm işe yaramazsa, bak HTML tarayıcı, eğer script çalıştı düzgün değişen overflow:auto özelliği overflow:visible; değiştirmelisin div adı sctipt, belki.


Açıklama

Chrome ve Safari İnternet Explorer daha farklı şekilde overflow: auto render.

HTML sayfası SSRS 2008 R2 rapor tarafından üretilen rapor görünmez hale getiren overflow: auto sahip div içerir.

<div id="ctl31_ctl09" style="height:100%; width:100%; overflow:auto; position:relative;">
  <!-- Report Contents in Here -->
</div>

Bu el ile (Chrome kullanarak hata ayıklama penceresi . tamir edebilirim ^kbd>F12bana Krom Raporu görmek için izin verir overflow:visible overflow:auto değiştirerek.

Tim's solution, kolay ve çalışmayı seviyorum.

Ama hala bir sorun vardır: her zaman kullanıcı parametreleri (raporlarım parametreleri kullanın!) AJAX, div, yenilertaşma:otomatiketiketi yeniden ve hiçbir senaryoyu değiştirir.

This technote detail ne sorunu daha iyi açıklar:

Bu tüm sayfayı yenilemeden bir sayfa AJAX panelleri ile inşa çünkü, sadece AJAX paneller kendi durumunu değiştirmek olur. Sonuç olarak, <body> etiket üzerinde uygulanan Yüklendiğinde olaylar sadece bir kez ateşledi: ilk sayfa yük. Bundan sonra, AJAX panellerden değişen bu olaylar artık tetiklemez.

@Göre bu mesaja cevap einarq Ajax UpdatePanel and onload=JavaScript Function:

Başka bir seçenek için fonksiyonu yeniden adlandırmak içinpageLoad.
Bu isimde herhangi bir fonksiyon da her kısmi güncellemeden sonra sayfa varsa, otomatik olarak asp.net ajax tarafından çağrılır. Eğer bunu yaparsanız, aynı zamanda vücut etiket yüklendiğinde özniteliğini kaldırabilirsiniz

Bunu kullanarak, çözüm için Tim'in komut yukarıdaki geliştirdim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Gavin Hoey

    Gavin Hoey

    21 Aralık 2007
  • Joanna Okrajni

    Joanna Okraj

    4 EYLÜL 2010
  • LearnKey

    LearnKey

    19 AĞUSTOS 2008