GridView Auto Paging – Repeated-Value Binding से सम्बंधित अभी तक हमने जितने भी Examples देखे हैं, उन सभी में Output में Data Source के सभी Records एक Single Webpage पर ही Render होते हैं। लेकिन कई बार Records इतने ज्यादा होते हैं, कि उन्हें एक ही Page पर Render करना किसी भी स्थिति में उपयुक्त Decision नहीं माना जा सकता।
इसलिए ASP.NET हमें GridView Control के साथ Paging नाम का Feature Provide करता है, जो एक निश्चित संख्या में Records को एक Webpage पर Render करने के बाद अन्य Records को दूसरे Webpage पर Render कर देता है और इस प्रक्रिया को Pagination के नाम से जाना जाता है, जिसके अन्तर्गत प्रत्येक Page पर एक निश्चित संख्या में ही Records Render होते हैं और GridView Control के लिए भी हम Popup Window द्वारा ही Paging को भी निम्न चित्रानुसार Enable कर सकते हैं:
Automatic Paging
GridView Control की कुछ Properties को Set करके व Events को Handle करके हम बडी ही आसानी से Paging को Manage कर सकते हैं। जिसके परिणामस्वरूप एक निश्चित संख्या के बाद के Records को Grid Control द्वारा Automatically अन्य Webpage पर Render करने के लिए Setup कर दिया जाता है और इन अन्य Pages पर Navigate करने के लिए हमें एक Numbered Hyperlink Provide कर दिया जाता है।
GridView Control के साथ Paging को Manage करने के लिए हम इसकी अग्रानुसार Discussed Properties व Events को उपयोग में ले सकते हैं:
AllowPaging Property
इस Property का प्रयोग करके हम हमारे GridView Control के लिए च्ंहपदह को Enable/Disable कर सकते हैं।
PageSize Property
इस Property का प्रयोग करके हम ये तय कर सकते हैं कि कितने Records को एक Page पर Render करने के बाद आगे के Records को अलग Page पर Render करने के लिए Setup किया जाएगा।
उदाहरण के लिए यदि हम हमारे पिछले Example में इस Property को 5 Set कर दें, तो हमें प्राप्त होने वाला Resultant Output कुछ निम्नानुसार होगा:
जहां अगले Records को देखने के लिए हमें Grid के Footer में दिखाई देने वाले Number “2” को Click करना होता है, जिसके परिणामस्वरूप अगले 4 Records निम्नानुसार दिखाई देने लगते हैं:
PageIndex Property
यदि Paging Enabled हो, तो इस Property को Currently Displayed Page के Zero-Based Index को Get/Set किया जा सकता है।
PagerSettings Property
ये Property हमें PagerSettings Type का एक Object Provide करता है, जिसमें Pager Control से सम्बंधित विभिन्न प्रकार के Formatting Options Wrap होते हैं। ये Options ही इस बात को तय करते हैं कि Paging Controls कहां Show होंगे और उन Controls में क्या Text या Images Contained होंगे। हम इन Properties को Set करके अपने Pager Control के Look and Feel को Configure कर सकते हैं।
PagerStyle Property
इस Property के माध्यम से हम हमारे Paging Control के Font, Color, Text, Alignment आदि Styling से सम्बंधित Options को Configure कर सकते हैं।
PageIndexChanging and PageIndexChanged Events
ये Events तब Trigger होते हैं, जब हम किसी Page Selection Element पर Click करते हैं। Paging Hyperlink को Click करते ही Navigation Perform होने से पहले PageIndexChanging Event Fire होता है और Navigation Perform होने के बाद PageIndexChanged Event Trigger होता है।
Automatic Paging को Use करने के लिए हमें AllowPaging Property को Visual Studio के Properties Window से अथवा पिछले चित्र में दर्शाए अनुसार Graphical तरीके से True Set करना होता है। साथ ही हमें PageSize Property को भी Appropriate Value से Set करना होता है, जिसका Default मान 10 होता है और यदि हम Markup के अनुसार समझें तो इन दोनों Properties को निम्नानुसार Set कर सकते हैं:
[code] <asp:GridView ID="gridEmployees" runat="server" AutoGenerateColumns="False" DataKeyNames="EmployeeID" DataSourceID="sourceEmployee" ShowFooter="True" AllowSorting="True" EnablePersistedSelection="True" AllowPaging="True" PageSize="5" /> [/code]
Paging हर उस Data Source के साथ काम करता है, जिसमें ICollection Interface को Implement किया गया हो। यानी SqlDataSource इस Automatic Paging को Support करता है, इसलिए पिछले Example में हम इसे Apply कर सके हैं।
Automatic Paging Use करने पर Underlying Database से कम Data Query होंगे, ऐसा नहीं है, बल्कि प्रत्येक Page के लिए जब भी User Navigate करता है, Underlying Database पर SQL Query Fire होता है और Bound-Controls से Data Retrieve होकर GridView Control द्वारा Render होते हैं।
यानी यदि Underlying Database से Return होने वाला Resultset 10 Pages में Divide हो, तो Underlying Database पर 10 बार समान SQL Query Fire होता है और दस बार समान Data Retrieve होता है।
इसलिए Automatic Paging Use करते समय बेहतर यही होता है कि Automatic Caching को भी Data Source Control के लिए Enabled रखा जाए, ताकि हमारे Web Application की Performance अनावश्यक रूप से 9 गुना अधिक प्रभावित न हो, बल्कि एक ही बार में सारे Data को Server Side में Cache कर लिया जाए और हर अगले Page के लिए उपयोगी Data को Cache से Retrieve कर लिया जाए।
हालांकि इस Caching तरीके को Use करते समय ये भी जरूरी होता है कि Server Side में काफी मात्रा में Physical Memory उपलब्ध हो, क्योंकि बहुत सारे Data को Hold करने के लिए Physical Memory की Size भी ज्यादा होना जरूरी होता है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Advance ASP.NET WebForms in Hindi | Page:707 | Format: PDF