2010-09-17 10 views
6

क्या स्क्रॉलबार प्रदर्शित नहीं करने का कोई तरीका है? हम अतिरिक्त स्थान भी नहीं दिखाना चाहते हैं जहां स्क्रॉलबार होगा यदि हमारा डेटा ग्रिड पर फिट नहीं हुआ है।jqGrid - scrollbars प्रदर्शित नहीं करें

उत्तर

7

आप height और width को 100% पर सेट कर सकते हैं, और फिर स्क्रॉलबार ’ टी दिखाई देते हैं। वे केवल तब दिखाई देते हैं जब ग्रिड आवंटित स्थान से बड़ा होता है। सलाखों के लिए अतिरिक्त जगह को निकालने के लिए 0.

करने के लिए scrollOffset सेट यहाँ एक उदाहरण ग्रिड परिभाषा (नीचे सही संस्करण) है:

$("#myGrid").jqGrid({ 
     url: 'datasourceurl', 
     datatype: "json", 
     colNames: eval(json.colNames), 
     colModel: eval(json.colModel), 
     rowNum: -1, 
     width: 100%, 
     height: 100%, 
     scrollOffset: 0, 
     rowList: [10, 20, 30], 
     pager: jQuery('#myPager'), 
     ... 
    }, 

मैं हेवन ’ टी यह परीक्षण किया है, लेकिन मुझे लगता है उसी के लिए height: 100% का उपयोग उद्देश्य ... तो अगर आपको कुछ याद आ रही है तो मुझे बताएं।

संपादित करें: एक बेहतर परिभाषा, और मेरे json उपयोग पर सुधार - आप ओलेग :)

$("#myGrid").jqGrid({ 
     url: 'datasourceurl', 
     datatype: "json", 
     colNames: JSON.parse(json.colNames), 
     colModel: JSON.parse(json.colModel), 
     width: '100%', 
     height: '100%', 
     rowList: [10, 20, 30], 
     pager: jQuery('#myPager'), 
     ... 
    }, 
+4

आम तौर पर 100% चौड़ाई और ऊंचाई का उपयोग करने के सुझाव बिल्कुल सही है। मानों को उद्धृत किया जाना चाहिए ('100%' या "100%")। 'eval' बुरा है। यदि आपको कहीं इसकी आवश्यकता है तो आपको 'JSON.parse' का उपयोग करना चाहिए। यह सभी मौजूदा ब्राउज़रों पर बहुत तेज़ है (देखें http://www.json.org/js.html) और कारण से सुरक्षित। 'RowNum: -1' का उपयोग भी खतरनाक है। यह आपके द्वारा उपयोग किए जाने वाले सर्वर पर निर्भर करता है। मूल्य से 'पंक्ति सूची' या 10000 जैसे बड़े पूर्णांक से मूल्य का उपयोग करने के लिए बहुत से सेवर। 'ScrollOffset: 0' का उपयोग मुझे लगता है कि मुझे भी आवश्यकता नहीं है। बहुत आलोचक के लिए खेद है, लेकिन मुझे यह लिखना है। – Oleg

+0

प्रतिक्रिया के लिए धन्यवाद! –

+0

इस फिक्स ओलेग को पोस्ट करने के लिए धन्यवाद, यह सिर्फ मुझे एक ही समस्या को ठीक करने में मदद करता है। –

2

यह इस scrollOffset:0 साथ किया जा सकता लगता है धन्यवाद। इस टिप को देखा here

+1

क्षमा करें मार्कस, लेकिन मुझे समझ में नहीं आता कि 'scrollOffset: 0' की सेटिंग कैसे मदद कर सकती है यदि आपके पास सेटिंग के बिना ** स्क्रॉल बार नहीं होगा **। एक परीक्षण पृष्ठ http://www.ok-soft-gmbh.com/jqGrid/ClientsideEditing6.htm के साथ खेलने का प्रयास करें जिसमें 'स्क्रॉल ऑफसेट: 0' नहीं है। यह केवल 'चौड़ाई: '100%'' और 'ऊंचाई: '100%'' का उपयोग करता है। क्या आपको एक उदाहरण मिल सकता है जहां आप स्क्रॉल बार देखेंगे? – Oleg

+0

यदि मेरे पास कोई स्क्रॉलबार नहीं है, तो अभी भी ग्रिड के दाईं ओर एक जगह है जहां स्क्रॉलबार जा सकता है यदि डेटा जोड़ें। स्क्रॉलऑफसेट सेट करना इस अतिरिक्त स्थान को निकालने लगता है। –

+0

@ मार्कस: माफ करना मार्कस, लेकिन मैं केवल दोहरा सकता हूं कि मेरी राय में 'scrollOffset' पैरामीटर का मान पूरी तरह से महत्वहीन नहीं है क्योंकि सेटिंग' चौड़ाई: '100%' 'और' ऊंचाई: '100%' ' jqGrid में स्क्रॉलिंग बंद करें। बस http://www.ok-soft-gmbh.com/jqGrid/ClientsideEditing7.htm की तुलना करें 'स्क्रॉलऑफसेट: 500' जिसमें http://www.ok-soft-gmbh.com/jqGrid/ClientsideEditing6.htm डिफ़ॉल्ट मान है 'स्क्रॉल ऑफसेट' का। क्या आप कोई अंतर देख सकते हैं? ई कैन'टी। – Oleg