क्या किसी ने यह पता लगाया है कि लिंक से एसक्यूएल के साथ क्रिस्टल रिपोर्ट का उपयोग कैसे किया जाए?क्रिस्टल रिपोर्ट्स और LINQ
उत्तर
आप अपने LINQ परिणाम एक List
करने के लिए सेट में बदल सकते हैं, आप सख्ती से एक DataSet
रिपोर्ट SetDataSource
के रूप में उपयोग नहीं की जरूरत है, तो आप एक IEnumerable
के साथ एक क्रिस्टल रिपोर्ट डेटा की आपूर्ति कर सकते हैं। चूंकि IEnumerable
से List
inherits आप एक सूची के लिए अपनी रिपोर्ट 'डेटा स्रोत सेट कर सकते हैं, तो आप सिर्फ अपने LINQ परिणाम सेट पर .ToList()
विधि कॉल करने के लिए है। असल में:
CrystalReport1 cr1 = new CrystalReport1();
var results = (from obj in context.tSamples
where obj.ID == 112
select new { obj.Name, obj.Model, obj.Producer }).ToList();
cr1.SetDataSource(results);
crystalReportsViewer1.ReportSource = cr1;
Altough मैंने इसे स्वयं नहीं किया है, यह संबंधों को संरक्षित करने वाले SQLCommand ऑब्जेक्ट को वापस करने के लिए संबंधों को प्राप्त करने के लिए उत्सुक बनाने और GetCommand (IQueryable) के संयोजन के लिए उत्सुक बनाने के लिए डेटाकॉन्टेक्स्ट.लोडऑप्शन के संयोजन का उपयोग करके संभव है।
MSDN Forums पर अधिक जानकारी देखें।
msdn doc के सुझाव है कि आप एक ICollection करने के लिए एक क्रिस्टल रिपोर्ट बाध्य कर सकते हैं।
क्या मैं एक सूची (टी) की सिफारिश कर सकता हूं?
उपरोक्त कोड वेब अनुप्रयोग में काम नहीं करेगा यदि आपके पास dbnull मान हैं। आपको परिणाम सूची ऑब्जेक्ट को डेटासेट या डेटाटेबल में कनवर्ट करना होगा। इसके लिए कोई अंतर्निहित विधि नहीं है। मैं एक ही मुद्दे से गुजर चुका हूं और इंटरनेट पर अन्वेषण के घंटों के बाद, मुझे समाधान मिला और यहां किसी को भी इसके साथ फंसने में मदद करने के लिए साझा करना चाहते हैं। आप अपनी परियोजना में एक वर्ग बनाने के लिए है: - अपने क्रिस्टल रिपोर्ट स्थापित
public class CollectionHelper
{
public CollectionHelper()
{
}
// this is the method I have been using
public DataTable ConvertTo<T>(IList<T> list)
{
DataTable table = CreateTable<T>();
Type entityType = typeof(T);
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(entityType);
foreach (T item in list)
{
DataRow row = table.NewRow();
foreach (PropertyDescriptor prop in properties)
{
row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;
}
table.Rows.Add(row);
}
return table;
}
public static DataTable CreateTable<T>()
{
Type entityType = typeof(T);
DataTable table = new DataTable(entityType.Name);
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(entityType);
foreach (PropertyDescriptor prop in properties)
{
// HERE IS WHERE THE ERROR IS THROWN FOR NULLABLE TYPES
table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(
prop.PropertyType) ?? prop.PropertyType);
}
return table;
}
}
और यहाँ
CrystalReport1 cr1 = new CrystalReport1();
var results = (from obj in context.tSamples
where obj.ID == 112
select new { obj.Name, obj.Model, obj.Producer }).ToList();
CollectionHelper ch = new CollectionHelper();
DataTable dt = ch.ConvertTo(results);
cr1.SetDataSource(dt);
crystalReportsViewer1.ReportSource = cr1;
- 1. क्रिस्टल रिपोर्ट्स
- 2. क्रिस्टल रिपोर्ट्स
- 3. क्रिस्टल रिपोर्ट्स
- 4. क्रिस्टल रिपोर्ट्स
- 5. क्रिस्टल रिपोर्ट्स VS2010
- 6. क्या क्रिस्टल रिपोर्ट्स
- 7. क्रिस्टल रिपोर्ट्स XI
- 8. बिजनेस-ऑब्जेक्ट्स बनाम क्रिस्टल रिपोर्ट्स
- 9. डायनामिक ग्रुपिंग क्रिस्टल रिपोर्ट्स 9
- 10. क्रिस्टल रिपोर्ट्स विफल डेटाबेस डेटाबेस
- 11. क्रिस्टल रिपोर्ट्स - सारांश बनाम कुल क्षेत्र
- 12. क्रिस्टल रिपोर्ट्स, जो OLEDB प्रदाता SQL सर्वर
- 13. क्रिस्टल रिपोर्ट्स के लिए अच्छी किताब?
- 14. मैं क्रिस्टल रिपोर्ट्स को एक नए डेटाबेस
- 15. एक्सएमएल फाइलों में क्रिस्टल रिपोर्ट्स स्टोर करना?
- 16. रिवर्स इंजीनियरिंग क्रिस्टल रिपोर्ट्स परिभाषा फ़ाइलें
- 17. प्रारूप (बोल्ड या इटालिक्स) क्रिस्टल रिपोर्ट्स
- 18. क्रिस्टल रिपोर्ट्स में रिचटेक्स्ट प्रदर्शित करना
- 19. क्रिस्टल रिपोर्ट्स को व्युत्पन्न दिनांक सीमा
- 20. क्रिस्टल रिपोर्ट्स में लाइनों को संरेखित कैसे करें
- 21. क्रिस्टल रिपोर्ट्स से एक्सेल फ़ाइल निर्यात करने के मुद्दे
- 22. रिपोर्टिंग (फ्री || ओपन सोर्स) Winforms में क्रिस्टल रिपोर्ट्स के विकल्प
- 23. क्रिस्टल रिपोर्ट्स XI रिपोर्ट खोलते समय लटकती है
- 24. क्रिस्टल रिपोर्ट्स रनटाइम लाइसेंसिंग रिपोर्ट कैसे करता है?
- 25. क्रिस्टल रिपोर्ट्स में स्ट्रिंगवार में एक लाइन ब्रेक कैसे डालें
- 26. क्या क्रिस्टल रिपोर्ट्स आरपीटी फ़ाइल प्रारूप कहीं भी निर्दिष्ट है?
- 27. क्रिस्टल रिपोर्ट्स - संग्रहीत प्रक्रिया में एक नया फ़ील्ड जोड़ें और इसे आईडीई में उपलब्ध कराएं?
- 28. क्रिस्टल रिपोर्ट्स पर 'प्रिंट' और 'निर्यात' बटन अक्षम करना संभव है?
- 29. स्थानीयकृत क्रिस्टल रिपोर्ट
- 30. क्रिस्टल रिपोर्ट और ओडीपी.Net