2010-12-29 23 views
11

Selamlar.RDLC - VS2010'da Veri Kaynağı Ekleme

Bir RDLC dosyasına sahibim ve şimdiye kadar hiç şansınız olmasa da bir veri kaynağı eklemek istiyorum. Veri kaynağı kendim tarafından yazılan bir özel sınıftır (sadece eklemek için bunu her zaman yaparız). Kısa bir süre önce bazı sorunlara neden olan VS2010 RDLC formatına geçtik, ancak uygulamalarımızda bazı önemli değişiklikler yapıldığına dair bazı değişiklikler yaptık.

Bu nedenle, veri kaynağımı VS2010'daki RDLC görünümündeki DummyDataSource listesine eklemeyi denediğimde, eldeki konuya dönersek, hiçbir şey yapmaz, ancak veri kaynağını veri kaynağı listesine ekler. ancak RDLC görünümündeki açılır listeden seçemezsiniz, bu da veri kaynağını hiç ekleyemem anlamına gelir.

Bu problemi gören var mı? Kontrol etmem gereken bir şey var mı? Şiddetle arama yaptım ve şansım yoktu.

cevap

14

Veri kaynak nesne zorunluluk aksi takdirde bunu eklemenize izin vermeyen, sınıfı bir özellik olarak bir yerel veri türü bulunmaktadır. Komik, eh!

+1

Çok garip ama cazibe gibi çalışıyor. Umarım kimse benim veri kaynağımdaki Foo adlı işe yaramaz int'ye sahip olur ... :) –

+0

Bana saatlerce saç çekiyorum. Teşekkür ederim! – Glenn

18

Burada biraz kara büyü var gibi görünüyor. Ya da en azından, bu olayın güvenilir bir şekilde gerçekleşmesi için tüm uyaranları anlamadım.

Benzer bir sorun yaşadığımı düşünüyorum. Bunun sana yardım edip etmeyeceğinden emin değilim, ama işte işte bu yüzden.

VS2010 rapor tasarımcısında, Rapor Verileri bölmesini görüntülemek için görünümü-> Rapor Verilerini kullanın.

Veri Kümesi Özellikleri iletişim kutusunu almak için Yeni düğmesini tıklatın ve Veri Kümesi ... öğesini seçin.

Verilerinizi daha önce yapmışsanız, Veri Kümenizi adlandırın, muhtemelen burada DataSourceSource'ınızı bağladığınızda sağlanan veri kümesiyle eşleşen adın eşleşmesi gerektiğini biliyorsunuzdur.

Yeni denediğim yeni bölüm, Veri kaynağı açılır listesinin yanındaki Yeni ... düğmesini tıklamaktır. Ortaya çıkan sihirbaz, montajınızı ve CLR sınıfınızı seçerek sizi yönlendirir (sınıfınızı seçmek için onay kutusunu kullanın).

Sihirbaz bittiğinde, yeni veri kümem göründü.

Dikkat Edilmesi Gereken Bir Şey: Bunu ilk defa çoğaltmaya çalıştığımda, sihirbaz veri kümemi eklemeden tamamlandı. Sınıf tanımıma geri döndüm ve [DataContract] ve [DataMember] öznitelikleriyle yeniden düzenledim ve sihirbazı yeniden çalıştırdım ve harika görünüyordu.

Belki de daha derin bilgiye sahip biri, bu özniteliklerin bu çalışmayı neden yaptığını veya sihirbazın neden sessizce başarısız olduklarını açıklayabilir.

+0

Teşekkürler Paul :)) – Sadegh

+5

"kara büyü" - en iyi açıklama RDLC Raporlamadaki tüm bu büyük hatalar için okudum ... – Lyra

0

Bu işlemin, bir Stored Procedure uygulamasındaki son seçiminizin bir geçici/bellek tablosundan çekildiğinde gerçekleştiğini gördüm. Bir manken ekleme 0 AS mycol1int, '' AS mycol2string, vb. Öğesini ekleyerek tasarımcıyı uyarmalısınız. Veri kümesini oluşturduktan sonra, bu kukla seçimini kaldırabilirsiniz. VS bir başka muhteşem, muhteşem özelliği! DB'ye sahipler, IDE'ye sahipler, ancak ...

+0

Maalesef, aslında en kötüsü, bellek tablosunda bildiren ve kullanan kodu yorumlamanız ve ardından kukla seçimini eklemeniz gerekir. İç çekmek.... –

1

Veri kaynağını ekleyemedim, sihirbazı izledikten sonra (yeni düğme) veri kaynağı açılan listede görünmedi. Yaptığım şey, ilkel tür VS sınıfına sahip bir özellik eklemekti ve daha sonra doğru veri kaynağını göstermeye devam etti.

Bunu yapmak zorunda olmak garip ama başka bir yol buldum.

1

Kayıtlı bir yordam kullanıyorsanız, yordamın içindeki her şeyi, kaynak tabloları/işlevleri kullanmadan bir satır seçerek değiştirin. Geçici tablodan veya normal tablodan veri döndüren saklı bir yordamla çalışamadım.

0

eklenen veri kaynağı nesne daha sonra ReportData gösterilen değilse: 1. Sağ RDLC tıklayıp 3. elle sizin ihtiyaç duyulan veri kümesi eklemek 2. xml editörü ile açık tıklayın.

Bu yenilemeden sonra ReportData ve listede veri kaynağı nesnesini göreceksiniz.

İlgili konular