GridView Formatting – Styling with Visual Studio – Visual Studio हमें हमारे GridView Control की Styling करने के लिए Rich Design-Time Support Provide करता है, इसलिए GridView Control की Styling करने के लिए हमें Manual Code लिखने की जरूरत नहीं होती, बल्कि Visual Basic स्वयं हमारे लिए Automatically Styling Codes Generate कर देता है।
उदाहरण के लिए यदि हम अपने GridView Control के Header के Font को Style करना चाहें, तो हम बडी ही आसानी से इसे Properties Window द्वारा Style कर सकते हैं। लेकिन इस Approach की जो इकलौती Limitation है, वो ये है कि हम इस तरीके का प्रयोग करते हुए किसी GridView Control के किसी Individual Column को Style नहीं कर सकते और केवल इसी जरूरत को पूरा करने के लिए हमें Manual Style Coding का सहारा लेना पडता है।
हालांकि हम एक Trick के माध्यम से किसी Individual Column को Style कर सकते हैं, जिसके अन्तर्गत हम पहले Fields Dialog Box को Invoke करते हुए Columns Property को Edit कर सकते हैं और फिर Appropriate Individual Column को Select करते हुए उसे Style कर सकते हैं।
इतना ही नहीं, हम निम्न चित्रानुसार GridView के Style Tag में दिखाई देने वाले “Auto Format” Hyperlink को Click कर सकते हैं:

जिसके परिणामस्वरूप निम्नानुसार Display होने वाले Dialog Box से किसी Predefined Styling Scheme को भी Select करके Apply कर सकते हैं:

जब हम इस Dialog Box में दिखाई देने वाली विभिन्न Schemes में से किसी Scheme को Select करके Apply करते हैं, तो उस स्थिति में Webpage के Run होने पर Resultant Output के रूप में हमारा Webpage निम्नानुसार Render होता है:

Formatting Specific Values
अभी तक हमने जिन भी Formattings के बारे में जाना है, वे सभी या तो Row Level Formating हैं या फिर Column Level, लेकिन अक्सर हमें Cell-Level अथवा Specific Row-Level Formatting की जरूरत होती है।
ASP.NET हमें GridView के किसी Particular Cell को Format करने के लिए GridView.RowDataBound Event Provide करता है। ये Event तब Raise होता है, जब हमारे Grid का कोई हिस्सा जैसे कि Header, Footer, Pager, Alternate या Selected Item Create होकर Data Object के साथ Bound होता है।
जबकि GridView Control के Current Row को Access करने के लिए हम GridViewRow Control Use कर सकते हैं। इसी तरह से GridViewRow.DataItem Property का प्रयोग करके हम किसी Specific Row के Data Object को तथा GridViewRow.Cells Collection के माध्यम से किसी Row के Contents को Access कर सकते हैं।
साथ ही GridViewRow का प्रयोग करके हम किसी Specific Control या उसके Child Controls के Colors व Alignment को Change करने अथवा Child Controls को Add/Remove करने का काम भी कर सकते हैं।
उदाहरण के लिए निम्न Event Handler में हमने RowDataBound Event को Handle किया है और निम्न Rules को Follow करते हुए Color को Set किया है:
- Item का BackColor=”Ping“ व उस स्थिति में ForeColor=”Maroon” होता है, जबकि Courtesy Column का Title किसी Female के लिए हो, जो कि हमारे उदाहरण में या Mrs. है।
- Item का BackColor=”DarkBlue“ व उस स्थिति में ForeColor=”LightCyan” होता है, जबकि Courtesy Column का Title हो।
- जबकि अन्य स्थितियों जैसे कि यदि Courtesy Title यदि या कुछ और हो, तो इस Item का BackColor=GridView.BackColor Property में Specified Color से Set हो जाए।
इन तीनों Situations को ध्यान में रखते हुए हम निम्नानुसार तरीके से अपने RowDataBound Event Handler को Define कर सकते हैं:
इस Code में सबसे पहले इस बात को Check किया गया है कि Create होने वाला Item, Data Row है या नहीं। यदि Create होने वाला Item, एक Data Row हो, तो Data-Bound Item से TitleOfCourtesy Field Execute होता है और फिर इसे एक Hard-Coded String Value के साथ Compare किया जाता है। परिणामस्वरूप जब हम इस Page को Run करते हैं, तो हमें निम्नानुसार Output Page प्राप्त होता है:

जबकि Visual Basic हमारे इस Page के लिए निम्नानुसार Markups Generate करता है:
इस Example में हमने Reflection का प्रयोग करते हुए Data Item से Information Piece को Retrieve करने के लिए DataBinder.Evel() नाम का Method Use किया है, जो कि हमारे Application की Performance को थोडा तो प्रभावित करता ही है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Advance ASP.NET WebForms in Hindi | Page:707 | Format: PDF