2012-03-20 9 views
10

अब यह एक बहुत ही बेतुका सवाल होगा। लेकिन मैं क्या कर सकता हूं, यह ग्राहक की आवश्यकता है। असल में, हमारे पास एक ग्रिड (मास्टर-विवरण प्रकार) है जो लगभग 15 हजार प्लस पंक्तियों तक जाता है (कुछ वर्षों में 30-50 हजार पंक्तियों तक जाने की संभावना है)।10,000 + जल्दी से प्रस्तुत करने के लिए एचटीएमएल पर रिकॉर्ड

मेरे ग्राहक किसी भी पेजिंग नहीं चाहता है, किसी भी डेटा के रूप में अच्छी तरह से काटी नहीं करना चाहती है। इसके अलावा वह बिल्कुल नवीनतम हार्डवेयर का उपयोग नहीं कर रहा है इसलिए ब्राउज़र पर प्रतिपादन एक बड़ा मुद्दा है। वह इसे प्रिंट करके या ब्राउजर पर देखकर सबकुछ देखना चाहता है। (आप सभी सोच सकते हैं कि कितना पागल लगता है, और यह निश्चित है)।

अब मैं जल्दी से एचटीएमएल प्रस्तुत करके इस समस्या को हल करना चाहता हूं। फिलहाल यह एक साधारण एएसपीनेट ग्रिड व्यू w/o पेजिंग है। वह अनिवार्य रूप से HTML टेबल प्रस्तुत करता है। मेरे विकल्प है कि मुझे लगता है कि कर रहे हैं: - मैन्युअल एचटीएमएल प्रतिपादन (त्वरित लोड करने के लिए) div का उपयोग कर - यह पीडीएफ को निर्यात या उत्कृष्टता (वहाँ तीसरे पक्ष के नियंत्रण का सहारा की जरूरत के बिना निर्यात करने के लिए किसी भी तरह से है?) - उंगली देना (ग्राहक के लिए: डी j/k)

तो योग करने के लिए, क्या एचटीएमएल पर डेटा के 10,000 से अधिक रिकॉर्ड दिखाने के लिए सबसे अच्छा तरीका है?

+4

आप, विकल्प हैं HTML करने के लिए वस्तुओं प्रस्तुत करना Nustache उपयोग करना और फिर एक कंटेनर को संलग्न करते हैं, YUI डेटा तालिका का उपयोग करें और अंत में आप क्लाइंट पक्ष कोड एक प्रगतिशील लोड हो रहा है प्रकार तालिका जो होगा सौंपने के लिए Backbone.js उपयोग करने के लिए कर सकते हैं जब आप स्क्रॉल करते हैं या अधिक बटन लोड करते हैं तो अधिक पंक्तियों को लोड करें – Deeptechtons

+1

लंबे * टेबल * धीमे हो सकते हैं क्योंकि (पुराने) ब्राउज़र को पृष्ठ को बिछाने से पहले पूरी तालिका को पढ़ने की आवश्यकता होती है। शायद एक गैर-टेबल समाधान बेहतर काम करेगा। –

+1

आपको यह विचार करना होगा कि यदि आप जो भी समाधान आपको क्लाइंट ऑफ़र करते हैं तो परिणाम से खुश होंगे, मैं जेनेरिक यूआई नियंत्रणों का उपयोग करके डेमो को नकल करने के इच्छुक हूं और क्लाइंट को यह देखने की इच्छा होगी कि वह किस प्रकार के खराब उपयोगकर्ता अनुभव की अपेक्षा कर सकता है अन्यथा आपकी प्रतिष्ठा पीड़ित हो सकती है जो अवास्तविक उम्मीदों के लिए लायक नहीं है। – Lloyd

उत्तर

7

"स्क्रॉलर" plug-in for Datatables ..

1,8 रिहाई का उपयोग कर विचार DataTables के हिस्से के रूप में एक नया प्लग में बुलाया "स्क्रॉलर" डाउनलोड पैकेज के भाग के रूप में पेश किया था। स्क्रॉलर डेटाटेबल्स के लिए वर्चुअल स्क्रॉलिंग का कार्यान्वयन है, जो लंबवत स्क्रॉलिंग तालिका प्रस्तुत करता है, तालिका की पूर्ण ऊंचाई को स्क्रॉल करता है, लेकिन दृश्यमान प्रदर्शन के लिए जरूरी पंक्तियों को चित्रित करता है, एक बड़ी प्रदर्शन वृद्धि का कारण बनता है। यह न केवल प्रदर्शन वृद्धि के लिए DataTables के लिए काफी एक रोमांचक प्लग में है, लेकिन यह भी क्योंकि यह प्रभावी रूप से मेज, बहुत बड़े डेटा सेट का पूरा स्क्रॉल अनुमति देता है के साथ एक नया उपयोगकर्ता बातचीत प्रदान करते हैं।

+0

उस साथी के लिए धन्यवाद :) अब उसमें देख रहे हैं। चीयर्स – xeshu

+0

ठीक है, शुभकामनाएं .. – Lloyd

2

आपको पेजिंग करना चाहिए - इसका मतलब यह नहीं है कि आपको एक समय में डेटा का केवल एक पृष्ठ दिखाना होगा, बल्कि आपको एक समय में डेटा के डेटा को पुनर्प्राप्त करना और प्रस्तुत करना चाहिए (और लगातार एक पृष्ठ को एक के बाद ले जाना जारी रखें डेटा समाप्त हो गया है)।

उदाहरण के लिए, प्रारंभिक अनुरोध में सर्वर से डेटा के पहले पृष्ठ भेजें। एक जेएस टाइमर सेट करें और डेटा के बाद के पृष्ठों को पुनर्प्राप्त करने के लिए AJAX अनुरोधों का उपयोग करें और ब्राउज़र में लोड करें। आपके पास एकाधिक (3-4 कहें) AJAX अनुरोध पृष्ठों को पुनर्प्राप्त करने के लिए एक साथ चल रहे हैं - केवल इस तरह के दृष्टिकोण में ऑर्डर सही ढंग से प्राप्त करना होगा।

मैं व्यक्तिगत रूप से मैनुअल जावा-स्क्रिप्ट (jQuery के लिए मदद से) का उपयोग कर ग्रिड दृश्य से दूर रहेंगे और प्रस्तुत करना HTML तालिका या कुछ जावा स्क्रिप्ट टेम्पलेट इंजन का उपयोग करें। मैं सर्वर से डेटा पुनर्प्राप्त करने के लिए JSON का उपयोग करूंगा।

+0

उन्होंने कहा कि वह पेजिंग देय ग्राहक आवश्यकताओं को लागू नहीं कर सकते हैं। – TheBoyan

+0

@BojanSkrchevski, ग्राहक एक साथ सभी डेटा एक साथ देखना चाहता है और एक पृष्ठ पर नहीं दिखाना चाहता। कृपया उत्तर को ध्यान से पढ़ें - मैं डेटा को पुनर्प्राप्त करने और दिखाने के लिए पेजिंग की सलाह दे रहा हूं यानी आप टाइमर का उपयोग करके डेटा के पेजफुल को लोड करना जारी रखते हैं। – VinayC

+0

आह, क्षमा करें, +1 :) – TheBoyan

2

वह मुद्रण

यह सब जानकारी देखने के लिए केवल व्यवहार्य समाधान imho है द्वारा सब कुछ देखने के लिए चाहता है। पीडीएफ या एक्सेल अधिक बड़ी संख्या में पंक्तियों को संभालने में बेहतर है।

प्रतिपादन करना काफी आसान है। बस एक्सेल माइम प्रकार सेट करें और एक HTML तालिका वापस करें।

http://www.designdetector.com/archives/05/07/HTMLToExcelTheEasyWay.php

यह पीडीएफ की बात आती है, तो आप शायद PDFSharp की तरह एक बाहरी पुस्तकालय का उपयोग करना होगा।

+0

चीयर्स jgauffin। :) मैं पीडीएफशर्प और अन्य ओपन सोर्स पीडीएफ जेनरेटर में देख रहा हूं। सरल टेबल संरचना के लिए एहसास नहीं हुआ, माइम प्रकार को स्विच करने से इसे एक्सेल में खुलता है। उसके लिए धन्यवाद :) – xeshu

1

मुझे पता है कि यह लगभग एक साल देर हो चुकी है, लेकिन अगर यह किसी की मदद करता है।

SlickGrid का उपयोग करें - यह टेबल के बजाय divs का उपयोग करता है, जो IE में इतना अधिक प्रदर्शन देता है। चेक इस example

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