सर्वर साइड पथ 404 त्रुटि प्रदान करता है जहां पथ वही है जो तालिका के प्रारंभिक लोडिंग पर उपयोग किया जाता है। तालिका नष्ट हो जाती है और कॉलम गतिशील रूप से बदल जाते हैं।

मैं सर्वर साइड प्रोसेसिंग को सफलतापूर्वक लागू करता हूं जहां मेरे पास स्थिर कॉलम हैं। मैंने पहले सर्वर साइड प्रोसेसिंग के बिना तालिका को गतिशील रूप से बनाया है लेकिन इसे संभालने के लिए अब लोड बहुत बड़ा है। इसलिए मैं सर्वर साइड प्रोसेसिंग कॉन्फ़िगरेशन के साथ SQL पेजिंग में स्थानांतरित हो गया हूं, लेकिन यह तालिका को लोड नहीं करेगा, यहां तक ​​​​कि यह भी सोचा कि पथ वही है जब मैं प्रारंभ में तालिका लोड करता हूं लेकिन एक स्थिर कॉलम के साथ। मैं संस्करण १.१०.१५ का उपयोग कर रहा हूं क्योंकि मैं कितने समय से पुस्तकालय का उपयोग कर रहा हूं और मेरे पास कई टेबल हैं जो मुझे चिंतित हैं अगर मैं अपग्रेड करता हूं तो काम नहीं करेगा। सुनिश्चित नहीं है कि अपग्रेड करने से समस्या ठीक हो जाएगी।

JQuery डेटाटेबल्स कोड

var oTable = $("#InvoiceProcessing").DataTable({
                jQueryUI: true,
                pagingType: "full_numbers",
                responsive: true,
                "scrollX": true,
                "bServerSide": true,
                "sAjaxSource": "@Url.Action("GetInvoiceProcessing", "InvoiceProcessing")?clientId=" + cId + "&summaryDate=" + sumDate + "&processedDate=" + procDate + "&accountNumber=&invoiceNumber=",
                "bProcessing": true,
                "destroy": true,
                lengthMenu: [[25, 50, 100], [25, 50, 100]],
                "autoWidth": true
            });

सी # विधि हस्ताक्षर - यह विधि हिट नहीं होती है

public async Task<ActionResult> GetInvoiceProcessing(Guid? clientId, DateTime? summaryDate, DateTime? processedDate, DataTableParamModel param, string accountNumber = "", string invoiceNumber = "")

मुझे पेजिंग को क्वेरी के पूर्ण आकार को प्रतिबिंबित करने की आवश्यकता है। मैं एसक्यूएल पेजिंग का उपयोग कर रहा हूं जो कुल रिकॉर्ड गिनती और डेटा की केवल पृष्ठ लंबाई देता है। अगर मैं इसे सर्वर साइड प्रोसेसिंग के बिना पूरा कर सकता हूं तो मुझे इससे भी खुशी होगी।

0
Troy Crowe 5 अप्रैल 2019, 04:14

1 उत्तर

सबसे बढ़िया उत्तर

मैं प्रियांक पांचाल द्वारा दी गई जानकारी का उपयोग करने में सक्षम था लेकिन अपनी जरूरतों को पूरा करने के लिए सुझाव में समाधान को संशोधित कर रहा था।

मैं इसका उपयोग करने में सक्षम नहीं था क्योंकि ग्रिड के लिए मेरे द्वारा जेनरेट किए गए कॉलम गतिशील रूप से डेटा द्वारा संचालित होते हैं और इसलिए लोड होने से पहले पूर्वनिर्धारित नहीं किया जा सकता है।

ऐसा करने के लिए मुझे ग्रिड को तीन अलग-अलग तरीकों से लोड करना होगा।

  1. सबसे पहले मैं इसे केवल एक फ़ील्ड के साथ लोड करता हूं जो "नो उपलब्ध रिकॉर्ड्स" के डेटाटेबल्स डिफ़ॉल्ट संदेश के साथ इसके उपयोग की पहचान करता है।
  2. दूसरा लोड क्लाइंट के चयन के बाद ग्रिड को फिर से बनाता है, जो कि आवश्यक फ़ील्ड को निर्धारित करता है, और यह उचित संरचना के साथ पुनः लोड होता है।
  3. अंत में, मैं उपयोगकर्ता द्वारा दूसरे चयन के साथ ग्रिड को पुनः लोड करता हूं जो परिभाषित करता है कि डेटा कैसे फ़िल्टर किया जाता है।

इसके साथ पहले कॉलम को छिपाने की भी आवश्यकता होती है, जो मैं डेटाटेबल्स कॉन्फ़िगरेशन की "कॉलमडिफ्स" विशेषता के माध्यम से करता हूं।

अंतिम आवश्यकता बटनों को संपादित करने और हटाने के लिए अतिरिक्त फ़ील्ड प्रदान करने की थी।

यह "columnDefs" विशेषता के साथ-साथ तालिका को निम्न तरीके से संदर्भित करने के साथ पूरा किया गया था: "aTargets": [oTable.columns()[0].length - 2]। इसने इसे पहले अंतिम कॉलम में और दूसरे को इसके बाद जोड़ने की क्षमता प्रदान की।

0
Troy Crowe 14 अप्रैल 2019, 23:52