c# जब डेटासॉर्स पूरा परिणाम सेट वापस नहीं करता है, तो मैन्युअल रूप से ग्रिडव्यू के पेजकॉउंट को सेट करना?




asp.net-2.0 (2)

आपको AllowCustomPaging = "true" को सेट करना होगा। और जब डाटाबेस चलते हैं:

mygrid.VirtualItemCount = totalRecords;
mygrid.DataSource = mysource;
mygrid.DataBind();

1 अद्यतन: ऊपर केवल डेटाग्रिड के लिए है दुर्भाग्य से ग्रिडव्यू के साथ सर्वर साइड पेजिंग करने का केवल एक समर्थित तरीका ऑब्जेक्ट डेटास्त्रो को कार्यान्वित कर रहा है या एक कस्टम डेटा स्रोत को कार्यान्वित कर रहा है। यहां संबंधित एमएसडीएन डॉक्टर http://msdn.microsoft.com/en-us/library/5aw1xfh3.aspx है

अद्यतन 2: यह विधि अब नेट 4.5 के रूप में GridView के साथ काम करती है

मैं एएसपी.नेट के GridView पेजिनेशन यांत्रिकी का पता लगाने की कोशिश कर रहा हूं ताकि मैं अपने कम्पनी के होम-ब्रेवड मैनुअल पेंजिनेशन रूटीन के बजाय फ्रेमवर्क की देशी कार्यक्षमता का उपयोग कर सकूं जो कार्यान्वयन के लिए बहुत सी काम करते हैं

मुझे यह पता चला है कि ग्रिडव्यू की पेजकॉउंट की संपत्ति हमारे वेब सेवाओं के साथ काम करने के अलावा कैसे प्राप्त हुई है। वर्तमान में, हमारी वेब सेवाओं में कुल रिकॉर्ड की गिनती होती है जैसे निम्नलिखित:

public object[] GetStuffMethod(int pageNum, int recordsPerPage, out int totalRecords)

यह एक GridView के साथ ठीक काम करता है, हालांकि मैंने पाया दस्तावेज़ों का कहना है कि GrideView की PageCount संपत्ति PageCount के कुल अभिलेखों से उत्पन्न होती है। क्या सभी रिकॉर्डों को लौटने के अलावा किसी और चीज़ पर आधारित पेजकाउंट को सेट करने का कोई रास्ता नहीं है?

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


मैं दृढ़ता से अनुशंसा करता हूं कि आप ObjectDataSource मार्ग पर जाएं

यदि आप इस दृष्टिकोण से अपरिचित हैं तो मूल बातें हैं:

1) मैन्युअल रूप से ग्रिड को सेट करने के बजाय, डेटा के पीछे कोड में डेटासॉर्स संपत्ति, आप पेज पर एक अतिरिक्त तत्व जोड़ते हैं। आपने ग्रिड के DataSourceID को अपने ObjectDataSource के आईडी पर सेट किया है

2) यह वह जगह है जहां आपको वास्तविक नियंत्रण मिलता है। आप एक नया वर्ग बनाते हैं और इसे दो कार्यों "चयनकर्ता ()" और "गेटकाउंट ()" दें आप अपने तर्क दोनों कार्यों में रख सकते हैं और अपने दिल की सामग्री को अनुकूलित कर सकते हैं। यदि आपको इसके साथ काम करने की आवश्यकता है, लेकिन इस पद्धति के तहत, आप एक को कॉल करने के लिए पंक्तियों को वापस कर सकते हैं और अन्य को गिनती वापस करने के लिए वेब सेवाओं का उपयोग करने के लिए स्वतंत्र महसूस करें

3) ऑब्जेक्टडेटासर्स के सम्पत्ति संपादक को अपनी कक्षा में जोड़ने और पेजिंग को सक्षम करने के लिए उपयोग करें। तम तैयार हो!

मैं दृढ़ता से सुझाव देता हूं कि आप ObjectDataSource और GridView का उपयोग करने के कोड प्रोजेक्ट के उदाहरण की जांच कर रहे हैं क्योंकि यह स्पष्ट रूप से आपके लिए क्या चाहते हैं, इसका समर्थन करने का उद्देश्य है।

सौभाग्य!





asp.net-2.0