मैं अपने आवेदन में डेटाटेबल का उपयोग कर रहा हूं। मेरा आवेदन एक सर्वर होस्ट नहीं है। (मैं अपने अनुप्रयोग में सीधे HTML प्रस्तुत करना होगा। ठीक है, कि एक अलग कहानी है।)गतिशील जावास्क्रिप्ट डेटा स्रोत - डेटाटेबल
नीचे की तरह वर्तमान में मैं पॉप्युलेट कर रहा हूँ DataTable,
$(dataTableSelector).dataTable({
"sDom": 't <f> <i> <p> > ',
"bRetrieve": true,
"aaSorting": [],
"aaData": rows,
"aoColumns": columns,
"oLanguage": {
"sSearch": "",
"sInfo": "_START_ - _END_ Total: _TOTAL_ ",
"sInfoFiltered": "(filtered from _MAX_)"
}
});
यहाँ rows
अपने पूरे डेटा की सरणी में, कर रहे हैं एक जावास्क्रिप्ट sourced डेटा के रूप में सरणी।
लेकिन अब मेरी समस्या यह है कि यदि डेटा डेटाटेबल के साथ प्रस्तुत करने वाला डेटा बहुत बड़ा है, तो लोडिंग में अधिक समय लगता है। तो मैं सर्वर साइड प्रसंस्करण के समान डेटा तालिका को बदलने की कोशिश कर रहा हूं (लेकिन कृपया ध्यान दें कि मेरे पास कोई सर्वर नहीं है। यह सिर्फ एक स्थानीय HTML पृष्ठ है)। अगले पर क्लिक करने पर, इसे केवल अगले पृष्ठ लोड करना चाहिए। तब तक, इसे लोड नहीं करना चाहिए।
कहो, मैं एक समारोह जावास्क्रिप्ट में
function loadData(start,end, searchString){
//Function to fetch records from a Table with start and end numbers of records.
//searchString is optional.
//rows= GetDataFromTable(start,end, searchString);
return rows;
}
तो, जब भी अगले या पिछले बटन डेटा तालिका में क्लिक किया है, या खोजा गया है, मेरी जावास्क्रिप्ट विधि बुलाया जाना चाहिए और यह DataTable फिर से आबाद करना चाहिए। कोई विचार?
बहुत अच्छा प्रश्न है, शायद सर्वर साइड प्रसंस्करण इस मामले में उपयोगी हो सकता है: https://datatables.net/examples/data_sources /server_side.html – jyrkim
कुछ सर्वर-पक्षीय कोड के बिना काम नहीं करेगा। शायद स्थानीय भंडारण में ग्राहक पक्ष पर डेटा भंडार के साथ। तो अगर बड़े डेटा को एक बार फ़िल्टर किया जा सकता है तो इसे फ़िल्टर किया जा सकता है। लेकिन यह ठंडा नहीं होगा (उपयोगकर्ता के लिए) और यदि डेटा अक्सर बदलता है तो इसमें कुछ सिंक्रनाइज़ेशन समस्याएं भी होती हैं। मैं केवल इस दृष्टिकोण की अनुशंसा करता हूं यदि आपके पास डेटा और उपयोगकर्ता समूह तय किया गया है जो जानता है कि उनका स्थानीय संग्रहण बड़ी मात्रा में डेटा द्वारा पॉप्युलेट किया गया है। – mainguy
आपके पास कई, कई पंक्तियां होनी चाहिए। कितने? – davidkonrad