8

मैं वर्टिकल स्क्रॉल बार के साथ ग्रिडव्यू फ्रीज हेडर को कार्यान्वित कर रहा हूं। मैंने कई समाधानों की कोशिश की जो यहां सुझाए गए हैं। लेकिन मुद्दे हैं,गर्डव्यू के शीर्षलेख को फ्रीज कैसे करें [ग्रिडव्यू और कॉलम चौड़ाई तय नहीं की गई है]

  1. ग्रिडव्यू एक पैनल के अंदर है, जिसकी चौड़ाई तय नहीं है। इसका 9 7%

2. कॉलम में निश्चित चौड़ाई नहीं है।

मैंने GridviewScroll.js में सुझाए गए समाधान का प्रयास किया, लेकिन समस्या निश्चित चौड़ाई के साथ है और ग्रिडव्यू विंडो आकार के अनुसार आकार बदलता नहीं है।

मैं भी कई समाधान लेकिन कुछ भी निश्चित चौड़ाई के बिना काम करता कोशिश की, तो मैं यहां उपस्थित नहीं कर सकते ..

नीचे अपने मौजूदा है कोड

  <asp:Panel ID="panel_gridholder" runat="server" style="position:absolute;left:10px;width:97%; min-width:1020px;margin-top:3px;margin-bottom:20px;overflow:auto;" > 


      <asp:GridView ID="GridView_Vehicle" runat="server" AutoGenerateColumns="False" AllowSorting="true" PagerSettings-Position="TopAndBottom" 
       OnPageIndexChanging="GridView_Vehicle_PageIndexChanging" OnSorting="GridView_Vehicle_Sorting" PageSize="100" 
       GridLines="None" AllowPaging="true" CssClass="mGrid" PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass="alt"> 
       <Columns> </Columns> 
      </asp:GridView> 

      <div style="height: 400px"></div> 
     </asp:Panel> 

कोई सुझाव?

उत्तर

0

मैं DataTables का उपयोग करता हूं। जो भी आप चाहते हैं (जैसे मैं आपकी आवश्यकताओं को समझता हूं) करने के अलावा, यह परिपक्व, स्थिर और इसके अलावा बहुत अधिक सक्षम है। https://jsfiddle.net/objo18f9/3/

फिडल में:

मैं प्रदर्शित करने के लिए एक JsFiddle बनाया हैडर सामग्री के ऊर्ध्वाधर स्क्रॉल के साथ तय हो गई है; कोई निर्दिष्ट कॉलम आकार नहीं (वे आकार बदल देंगे क्योंकि आप मध्य विभाजक (फिडल) को बाएं या दाएं खींचते हैं; और तालिका div से घिरा हुआ है जो पेज चौड़ाई का 9 7% सेट है (जो स्मृति से एक पैनल है ASP.Net) में के रूप में प्रदान की गई है, और पेजिंग चालू है

कोड स्निपेट के रूप में ही उदाहरण है:

$(document).ready(function() { 
 
    $('#example').DataTable({ 
 
    "scrollY": "200px", 
 
    "scrollCollapse": true, 
 
    "paging": true 
 
    }); 
 
});
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.js"></script> 
 
<script type="text/javascript" src="https://cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"></script> 
 
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.13/css/jquery.dataTables.min.css"> 
 

 
<div width="97%"> 
 
    <table id="example" class="display" width="100%" cellspacing="0"> 
 
    <thead> 
 
     <tr> 
 
     <th>Name</th> 
 
     <th>Position</th> 
 
     <th>Office</th> 
 
     <th>Age</th> 
 
     <th>Start date</th> 
 
     <th>Salary</th> 
 
     </tr> 
 
    </thead> 
 
    <tbody> 
 
     <tr> 
 
     <td>Tiger Nixon</td> 
 
     <td>System Architect</td> 
 
     <td>Edinburgh</td> 
 
     <td>61</td> 
 
     <td>2011/04/25</td> 
 
     <td>$320,800</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Garrett Winters</td> 
 
     <td>Accountant</td> 
 
     <td>Tokyo</td> 
 
     <td>63</td> 
 
     <td>2011/07/25</td> 
 
     <td>$170,750</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Ashton Cox</td> 
 
     <td>Junior Technical Author</td> 
 
     <td>San Francisco</td> 
 
     <td>66</td> 
 
     <td>2009/01/12</td> 
 
     <td>$86,000</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Cedric Kelly</td> 
 
     <td>Senior Javascript Developer</td> 
 
     <td>Edinburgh</td> 
 
     <td>22</td> 
 
     <td>2012/03/29</td> 
 
     <td>$433,060</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Airi Satou</td> 
 
     <td>Accountant</td> 
 
     <td>Tokyo</td> 
 
     <td>33</td> 
 
     <td>2008/11/28</td> 
 
     <td>$162,700</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Brielle Williamson</td> 
 
     <td>Integration Specialist</td> 
 
     <td>New York</td> 
 
     <td>61</td> 
 
     <td>2012/12/02</td> 
 
     <td>$372,000</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Herrod Chandler</td> 
 
     <td>Sales Assistant</td> 
 
     <td>San Francisco</td> 
 
     <td>59</td> 
 
     <td>2012/08/06</td> 
 
     <td>$137,500</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Rhona Davidson</td> 
 
     <td>Integration Specialist</td> 
 
     <td>Tokyo</td> 
 
     <td>55</td> 
 
     <td>2010/10/14</td> 
 
     <td>$327,900</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Colleen Hurst</td> 
 
     <td>Javascript Developer</td> 
 
     <td>San Francisco</td> 
 
     <td>39</td> 
 
     <td>2009/09/15</td> 
 
     <td>$205,500</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Sonya Frost</td> 
 
     <td>Software Engineer</td> 
 
     <td>Edinburgh</td> 
 
     <td>23</td> 
 
     <td>2008/12/13</td> 
 
     <td>$103,600</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Jena Gaines</td> 
 
     <td>Office Manager</td> 
 
     <td>London</td> 
 
     <td>30</td> 
 
     <td>2008/12/19</td> 
 
     <td>$90,560</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Quinn Flynn</td> 
 
     <td>Support Lead</td> 
 
     <td>Edinburgh</td> 
 
     <td>22</td> 
 
     <td>2013/03/03</td> 
 
     <td>$342,000</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Charde Marshall</td> 
 
     <td>Regional Director</td> 
 
     <td>San Francisco</td> 
 
     <td>36</td> 
 
     <td>2008/10/16</td> 
 
     <td>$470,600</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Haley Kennedy</td> 
 
     <td>Senior Marketing Designer</td> 
 
     <td>London</td> 
 
     <td>43</td> 
 
     <td>2012/12/18</td> 
 
     <td>$313,500</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Tatyana Fitzpatrick</td> 
 
     <td>Regional Director</td> 
 
     <td>London</td> 
 
     <td>19</td> 
 
     <td>2010/03/17</td> 
 
     <td>$385,750</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Michael Silva</td> 
 
     <td>Marketing Designer</td> 
 
     <td>London</td> 
 
     <td>66</td> 
 
     <td>2012/11/27</td> 
 
     <td>$198,500</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Paul Byrd</td> 
 
     <td>Chief Financial Officer (CFO)</td> 
 
     <td>New York</td> 
 
     <td>64</td> 
 
     <td>2010/06/09</td> 
 
     <td>$725,000</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Gloria Little</td> 
 
     <td>Systems Administrator</td> 
 
     <td>New York</td> 
 
     <td>59</td> 
 
     <td>2009/04/10</td> 
 
     <td>$237,500</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Bradley Greer</td> 
 
     <td>Software Engineer</td> 
 
     <td>London</td> 
 
     <td>41</td> 
 
     <td>2012/10/13</td> 
 
     <td>$132,000</td> 
 
     </tr> 
 
     <tr> 
 
     <td>Dai Rios</td> 
 
     <td>Personnel Lead</td> 
 
     <td>Edinburgh</td> 
 
     <td>35</td> 
 
     <td>2012/09/26</td> 
 
     <td>$217,500</td> 
 
     </tr> 
 
    </tbody> 
 
    </table> 
 
</div>

आप ASP.Net बता अगर एक का उपयोग करें। स्थिर आईडी: <asp:GridView ID="GridView_Vehicle" ClientIDMode="static" ... तो आपको अपनी तालिका को संदर्भित करने में सक्षम होना चाहिए: $('#GridView_Vehicle').DataTable({ ... });

0

यहाँ पंक्तियों की एक मध्यम संख्या के साथ एक ग्रिड के लिए एक समाधान है (और यदि आप उस से भी अधिक है, तो आप के बजाय स्क्रॉल के छोटे आकार पेजिंग उपयोग करने के लिए चाहते हो सकता है):

के साथ दो GridView तत्वों बनाएं एक ही विनिर्देश और डेटा स्रोत, सिवाय इसके कि दूसरे में ShowHeader = "false" है। स्टाइल = "ऊंचाई: 38 पीएक्स; ओवरफ्लो: छुपा" के साथ पहले एक div के अंदर रखें (आपको अपने शीर्षलेख के लिए इस्तेमाल किए गए फ़ॉन्ट के आधार पर ऊंचाई समायोजित करने की आवश्यकता हो सकती है)। दूसरे को एक div के अंदर शैली = "अधिकतम-ऊंचाई: 400 पीएक्स; ओवरफ़्लो: ऑटो" के साथ रखें (ऊंचाई को समायोजित करें कि आप कितनी पंक्तियां दिखाना चाहते हैं)। चूंकि दोनों टेबल एक ही डेटा का उपयोग करते हैं, इसलिए उन्हें ठीक से लाइन करना चाहिए, और दूसरा स्क्रोल करने योग्य होगा। यदि आप सॉर्टिंग सक्षम करना चाहते हैं, तो इसे सर्वर पर साझा डेटा स्रोत पर करें और दूसरा ग्रिड व्यू को अपडेटपैनल के अंदर एक AsyncPostBackTrigger के साथ पहले को इंगित करें। यहां आपके उदाहरण के लिए कोड दिया गया है:

<asp:Panel ID="panel_gridholder" runat="server" style="position:absolute;left:10px;width:97%; min-width:1020px;margin-top:3px;margin-bottom:20px;" > 
    <div style="height:38px; overflow:hidden"> 
     <asp:GridView ID="GridView_Vehicle_Header" runat="server" AutoGenerateColumns="False" ShowHeaderWhenEmpty="true" AllowSorting="true" OnSorting="GridView_Vehicle_Sorting" GridLines="None" CssClass="mGrid" AlternatingRowStyle-CssClass="alt"> 
      <Columns> </Columns> 
     </asp:GridView> 
    </div> 
    <div style="max-height:400px; overflow:auto"> 
     <asp:UpdatePanel ID="UpdatePanel" runat="server" UpdateMode="Conditional"> 
      <ContentTemplate> 
      <asp:GridView ID="GridView_Vehicle" runat="server" AutoGenerateColumns="False" ShowHeader="false" AllowSorting="true" OnSorting="GridView_Vehicle_Sorting" GridLines="None" CssClass="mGrid" AlternatingRowStyle-CssClass="alt"> 
       <Columns> </Columns> 
      </asp:GridView> 
      </ContentTemplate> 
      <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="GridView_Vehicle_Header" /> 
      </Triggers> 
     </asp:UpdatePanel> 
    </div> 
</asp:Panel> 
संबंधित मुद्दे