Skip to main content

ReportViewer

Sistemde tanımlı bir raporu doğrudan formun içinde gösteren görsel nesnedir. Kullanıcı, ayrı bir ekrana gitmeden formdaki verilerle ilgili raporu aynı sayfada görebilir.

Değer tipi: Bu nesnenin bir değeri yoktur. ReportViewer veri tutmaz; yalnızca seçtiğiniz raporu ekranda gösterir.

Ne zaman kullanılır?

Form içinde bir raporu kullanıcıya göstermek istediğinizde kullanılır: özet tablo, fatura çıktısı, onay listesi gibi hazır raporlar. Forma girilen kayda bağlı bir rapor göstermek için raporu parametrelerle besleyebilirsiniz. Sadece bir dosya gömmek istiyorsanız Iframe, tek bir belgeyi göstermek için DocumentViewer daha uygundur.

Tasarımcı özellikleri

Bir ReportViewer seçildiğinde Özellik Görüntüleyici sekmelere ayrılır.

General

ÖzellikAçıklama
NameNesnenin koddaki adı (ör. ReportViewer1). Koddan bu adla erişirsiniz.

Behavior

ÖzellikAçıklama
Report IdGösterilecek raporun kimlik numarası. Hangi raporun yükleneceğini belirler.
Report NameGösterilecek raporun adı. Kimlik yerine adıyla seçmek için kullanılır.
ParametersRapora gönderilecek parametre listesi. Forma bağlı raporlarda raporu süzmek için kullanılır (ör. kayıt numarası, tarih aralığı).

Appearance

ÖzellikAçıklama
Visible / Client VisibleNesnenin görünürlüğü (sunucu / istemci tarafı).
Enabled / Client EnabledNesnenin aktif olup olmadığı (sunucu / istemci tarafı).
TitleNesnenin başlığı (çok dilli olabilir).

Olaylar

ReportViewer bir değer tutmadığı için değer / metin olayları yoktur. Açılış sırasındaki ortak olaylar ile görünürlük gibi özellikler değiştiğinde çalışan olaylar kullanılabilir.

Açılış sırası: OnInitOnLoadOnDataLoadOnPreRenderOnRender

Olaylar iki tarafta çalışabilir: sunucu olayları C# kodunda, istemci olayları tarayıcıdaki TypeScript kodunda yazılır.

Sunucu olayları (Server)

OlayNe zaman çalışır
OnInitForm açılırken nesne oluşturulduğunda, en başta.
OnLoadOnInit'in hemen ardından, nesne yüklenince.
OnRenderNesne ekrana çizilirken.

İstemci olayları (Client)

Sunucudaki olaylara ek olarak tarayıcı tarafında şunlar da vardır:

OlayNe zaman çalışır
OnDataLoadNesnenin verisi yüklendiğinde.
OnPreRenderNesne ekrana çizilmeden hemen önce.
OnClick / OnDoubleClickNesneye tıklanınca / çift tıklanınca.
OnPropertyChanging / OnPropertyChangedBir özellik kodla değiştirilmeden önce / sonra.

Kod örnekleri

ReportViewer'ın bir değeri olmadığı için .Value kullanılmaz. Koddan genellikle görünürlüğünü ya da aktifliğini değiştirirsiniz. Sunucu örnekleri turuncu, istemci örnekleri kırmızı çerçevelidir.

Form kodu (C#, sunucu)

Form kodunda nesneye doğrudan adıyla erişirsiniz:

// Göster / gizle
ReportViewer1.Visible = true;
ReportViewer1.Visible = false;

// Aktif / pasif
ReportViewer1.Enabled = false;

Akış (Flow) kodu (C#, sunucu)

Akış kodunda nesneye Document1.Controls üzerinden erişirsiniz:

// Göster / gizle
Document1.Controls["ReportViewer1"].Visible = true;
Document1.Controls["ReportViewer1"].Visible = false;

İstemci kodu (TypeScript, tarayıcı)

İstemci tarafında nesnelere this. ile erişilir ve özellik adları küçük harfle yazılır:

this.ReportViewer1.visible = true;
this.ReportViewer1.enabled = false;
Rapora parametre geçmek

Forma bağlı bir rapor göstermek istiyorsanız raporu sabit değil, parametreli kullanın. Tasarımcıdaki Parameters listesine, raporun beklediği parametreyi (ör. kayıt numarası) ekleyin; rapor bu parametreye göre süzülmüş şekilde açılır.

İpuçları

  • ReportViewer veri tutmaz; bir değeri kaydetmeniz gerekiyorsa raporu değil, formdaki ilgili nesneleri kullanın.
  • Rapor forma bağlı bir kayda göre değişiyorsa, Report Id ile birlikte Parameters listesini doldurmayı unutmayın; aksi halde rapor tüm kayıtları gösterir.
  • Belirli kullanıcılara raporu gizlemek için Visible özelliğini sunucu kodunda koşula bağlayabilirsiniz.
Tüm tasarımcı özellikleri (tam liste)

General: Name

Behavior: Report Id, Report Name, Parameters

Appearance: Visible, Client Visible, Enabled, Client Enabled, Title

Olaylar (Client): OnInit, OnLoad, OnDataLoad, OnPreRender, OnRender, OnClick, OnDoubleClick, OnPropertyChanging, OnPropertyChanged

Olaylar (Server): OnInit, OnLoad, OnRender