2010-05-26 22 views
7

के डेटासोर्स के रूप में एकाधिक ऑब्जेक्ट्स सेट करें, मैं अपने सी # विंडोज़ एप्लिकेशन में क्रिस्टल रिपोर्ट करना चाहता हूं, बिंदु यह है कि मैं अपनी रिपोर्ट डेटासोर्स के रूप में .NET ऑब्जेक्ट्स का उपयोग करना चाहता हूं, मुझे इसका नमूना कोड इंटरनेट पर नीचे उपयोग और उपयोग में मिला है उन्हें और यह ठीक काम करता है:क्रिस्टल रिपोर्ट

 ArrayList Mainlst = new ArrayList(); 
     Mainlst.Add(new testOBJ { Firstname = "test1", Lastname = "test11" }); 
     Mainlst.Add(new testOBJ { Firstname = "test2", Lastname = "test21" }); 
     Mainlst.Add(new testOBJ { Firstname = "test3", Lastname = "test31" }); 
     Mainlst.Add(new testOBJ { Firstname = "test4", Lastname = "test41" }); 
     Mainlst.Add(new testOBJ { Firstname = "test5", Lastname = "test51" }); 
     testCrystalReport rpt = new testCrystalReport(); 
     rpt.SetDataSource(Mainlst); 
     crystalReportViewer1.ReportSource = rpt; 

लेकिन मैं इन दोहराया जानकारी के लिए जानकारी उदाहरण स्कूल के लिए अतिरिक्त वस्तु भेजना चाहते हैं, लेकिन मैं इस अतिरिक्त वस्तु नहीं भेज सकते हैं, वहाँ किसी भी समाधान है कि मैं करने के लिए एक से अधिक ऑब्जेक्ट भेज सकते हैं क्रिस्टल रिपोर्ट? बेशक मुझे पता है कि मैं क्रिस्टल रिपोर्ट डेटासोर्स के लिए एकाधिक डेटाटेबल और डेटासेट का उपयोग कर सकता हूं लेकिन यहां मैं सिर्फ क्रिस्टल रिपोर्ट के डेटासोर्स के रूप में ऑब्जेक्ट्स और आईनेमरेबल्स का उपयोग करना चाहता हूं।

उत्तर

0

जब आप इसे डिज़ाइन मोड पर करते हैं, तो यह आपको बताता है कि यह समर्थित नहीं है।

datasources के बीच एक xref साथ

शायद ...

21

अगर आप कई डेटा स्रोत जैसे 1.EmployeeClass 2.EmpployeeSkillClass

है निम्नलिखित है:

 List<EmployeeClass> employeeList = new List<EmployeeClass>(); 
     employeeList.Add(new EmployeeClass() { EmpNo = "001", EmpName = "Supitchaya" }); 

     List<EmpployeeSkillClass> employeeSkillList = new List<EmpployeeSkillClass>(); 
     detList.Add(new EmpployeeSkillClass() { EmpNo = "001", Skill="C#" }); 
     detList.Add(new EmpployeeSkillClass() { EmpNo = "001", Skill="Java" }); 

// बनाएं ReportDocument के तत्काल:

 ReportDocument report = new RptEmployee(); //Crsytal report file 

// प्रत्येक तालिका में डेटासेट सेट करें। प्रत्येक तालिका के सूचकांक को इकट्ठा किया जाता है कि

// यह सुनिश्चित कर लें (डिबग मोड पर चलने लगता है कि टेबल [0] प्रकार कर्मचारी या EmployeeSkill के साथ नक्शा)

 report.Database.Tables[0].SetDataSource(employeeList); 
     report.Database.Tables[1].SetDataSource(employeeSkillList); 

     crystalReportViewer1.ReportSource = report; 

// समाप्त !!

+0

मैं जानना चाहता था कि क्या आपको पता है कि मेरी रिपोर्ट खाली क्यों आ रही है – Enzero

+2

आपको बहुत धन्यवाद, आपने अपना जीवन बचाया :)) – ertan2002

+0

@Ezero मैंने अभी आपका प्रश्न देखा है। मुझे लगता है कि आपके पास जवाब हो सकता है। देर से उत्तर के लिए क्षमा करें – Supitchaya

संबंधित मुद्दे