2016-03-24 30 views
0

VS 2013, VB.Net ve web formlarını kullanıyorum. Dinamik içeriğe sahip bir tablo içeren bir rdlc dosyası var. Tablonun üstünde bazı metin kutuları var, bazı metin kutuları statik içeriğe sahip, ancak bazıları da dinamik içeriğe sahip.rdlc tam sayfası nasıl yinelenir

red arrows - dynamic outside of table, green arrow - table

kırmızı oklar - tablonun dinamik dışında yeşil ok - masa

Ben bu raporu besleyen ediyorum bir IEnumberable(of T) (t özel bir nesnedir). Benim sorunum 2, 3, 4 .... vb. Sayfalarda, tabloda olmayan kutular oluşturmaz.

Tabloların üstündeki kutuları rapor üstbilgisine yerleştirmeyi denedim, bu da bunları tekrar ediyor. Bununla ilgili sorun, ilk rapordaki dinamik içeriğin her sayfada gösterilmesidir.

Tüm sayfanın her bir rapor için oluşturulmasını sağlayacak bir ayar var mı, yoksa tüm metin kutularını masaya taşımak için şimdi en iyi seçeneğim var mı?

Biraz arka plan, bu rapor yıllardan beri varlığını sürdürdü, ancak müşteri her seferinde yalnızca bir tane çalıştırabildi. Yeni gereksinim, belirli bir koşulu karşılayan tüm raporları, sayfa başına bir rapor oluşturmaktır. Bu yüzden orijinal görünüme olabildiğince yakın kalmak çok önemlidir. Diğer kutuları bir masaya koymamaktan ve çevrelerindeki karanlık sınırın eklenmemesini umuyorum.

Edit "Ayarla" ile ilgili bir ayar buldum. Bu ayar, tek tek bir metin kutusunun işaretlenmesiyle ve daha sonra özellikler menüsüne gidilerek bulunur. "table1 ile tekrarla" seçeneğini belirlediğimde, metin kutuları tekrarlanır, ancak yalnızca ilk nesneden gelen değeri gösterirler.

Raporun veri kaynağı, aşağıdaki özel nesneyi yansıtmak üzere ayarlanmıştır. Bu nesnelerin bir koleksiyonu böyle bir IEnumberable içine konur: Dim pendingPerformanceReviewReports As IEnumerable(Of PerformanceReviewReportScheme) ve daha sonra rdlc'ye gönderilir. Özel nesne yapıcı:

Public Class PerformanceReviewReportScheme 
    Public Property ConfNumber As String 
    Public Property Appointment As String 
    Public Property PerformancePlanStatus As String 
    Public Property ProcessLevel As String 
    Public Property Department As String 
    Public Property PositionCode As String 
    Public Property EmployeesName As String 
    Public Property EmployeeID As Integer? 
    Public Property PositionCodeDescriptionLevel As String 
    Public Property CurrentPayRate As String 
    Public Property ProposedPayRate As String 
    Public Property ProposedEffectiveDate As String 
    Public Property NextReviewDate As String 
    Public Property PerformanceRating As String 
    Public Property BasePayIncreaseDollars As String 
    Public Property BasePayIncreasePercentage As String 
    Public Property LumpSumBonusDollars As String 
    Public Property LumpSumBonusPercentage As String 
    Public Property RequestedBy As String 
    Public Property RequestedOn As String 
End Class 
+0

'IEnumerable (of T)' öğenizdeki her öğe rapordaki bir sayfayı temsil ediyor mu? –

+0

Evet, her bir nesnenin kendi sayfası olmalı – rogerdeuce

+0

Ne yazık ki iyi bir örnek bulamıyorum, ancak bir veri listesi kontrolü olmalı ya da raporunuza koyabileceğiniz benzer bir şey olmalı, tablo bunun içinde olacaktır. masanın üstündeki alanlar. Bunun için veri kaynağı 'IEnumerable (Of T) 'olacak, bu nedenle temelde koleksiyondaki her öğe için bu listenin içindeki her şey oluşturulacaktır. Bu mantıklı değilse bana bildirin. –

cevap

0

Ben tablodaki tüm alanları koyarak ve mevcut gruba eklemeden sona erdi. Tek tek hücreleri seçebilir ve sınırlarını kaldırabilirsiniz.

Bu çözüm çalışırken, bu ideal değildir. Ben nerede olursa olsun boş bir kağıda metin kutuları yerleştirmek ile gelen esneklik yok.

İlgili konular