2010-10-29 15 views
13

this post के बाद मैं अगली समस्या पर आ गया हूं।jqGrid ओवरले समस्या

डेटा लोड करने के बाद, ग्रे ओवरले पृष्ठ पर सबकुछ शामिल करता है, लेकिन ग्रिड डेटा। इसके लिए ज़िम्मेदार सीएसएस डिवी आईडी lui_list है। कुछ पता है इसे कैसे हल करना है?

है कि कैसे मैं jqgrid scirpt चल रहा हूँ:

<script type="text/javascript"> 
    jQuery(document).ready(function() { 
     jQuery("#list").jqGrid({ 
      url: '/Ticket/All/', 
      datatype: 'json', 
      mtype: 'GET', 
      colNames: ['Id', 'Hardware', 'Issue', 'IssueDetails', 'RequestedBy', 'AssignedTo', 'Priority', 'State'], 
      colModel: [ 
      { name: 'Id', index: 'Id', key: true, width: 100 }, 
      { name: 'Hardware', index: 'Hardware', width: 100 }, 
      { name: 'Issue', index: 'Issue', width: 200 }, 
      { name: 'IssueDetails', index: 'IssueDetails', width: 200 }, 
      { name: 'RequestedBy', index: 'RequestedBy', width: 150 }, 
      { name: 'AssignedTo', index: 'AssignedTo', width: 150 }, 
      { name: 'Priority', index: 'Priority', width: 100 }, 
      { name: 'State', index: 'State', width: 100}], 
      pager: jQuery('#pager'), 
      rowNum: 10, 
      rowList: [5, 10, 20, 50], 
      sortname: 'Id', 
      sortorder: "desc", 
      viewrecords: true, 
      imgpath: '/Content/images/', 
      caption: 'My first grid' 
     }); 
    }); 
</script> 

<h2>My Grid Data</h2> 
<table id="list"></table> 
<div id="pager"></div> 

और HTML शीर्षक:

<link href="/Content/jquery-ui-1.8.5.custom.css" rel="stylesheet" type="text/css" /> 
<link href="/Content/ui.jgrid.css" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="/Scripts/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="/Scripts/jquery-ui-1.8.5.custom.min.js"></script> 
<script type="text/javascript" src="/Scripts/grid.locale-en.js" ></script> 
<script type="text/javascript" src="/Scripts/jquery.jqGrid.min.js" ></script> 

किसी भी मदद की सराहना की जाएगी।

उत्तर

32

आप jqgrid-specific css-file को शामिल करना भूल गए हैं! इस फ़ाइल को शामिल करने के बाद आपकी समस्या हल हो गई है।

+0

धन्यवाद !! यह हमेशा छोटी चीजें है ... – Benny

+0

वाह। मैं इसे देखने के लिए बेवकूफ महसूस करता हूँ। सहायता के लिए धनयवाद। – JasCav

+0

एक कट्टरपंथी था कि फिक्रिन। एक लापता .css फ़ाइल में उपयोग नहीं किया जाता है जिससे भूरे ओवरले दिखाई देते हैं। – Lee

10

मुझे नहीं पता क्यों लोडिंग के अंत के बाद ओवरले प्रदर्शित रहेगा। मैं केवल यह मान सकता हूं कि आप कुछ सीएसएस वर्गों जैसे "लोडिंग" का उपयोग करते हैं जो jqGrid को लोड करने के दौरान भी उपयोग किया जाता है। इस समस्या से स्वतंत्र आप समस्या को ठीक कर सकते हैं। आपको केवल निम्नलिखित कोड के साथ संबंधित div को छिपाना चाहिए उदाहरण के लिए:

var grid_id = "list"; // jQuery("#list")[0].id; 
var hideLoading = function() { 
    jQuery("#lui_"+grid_id).hide(); 
    jQuery("#load_"+grid_id).hide(); 
} 

jQuery("#list").jqGrid({ 
    // all current options 
    loadComplete: function() { 
     hideLoading(); 
    }, 
    loadError: function() { 
     hideLoading(); 
    } 
}); 
+0

हाय ओलेग। आपकी सहायता के लिए एक बार फिर से धन्यवाद। यह वास्तव में समस्या हल करता है। मैं वोट दूंगा, लेकिन जवाब के रूप में चिह्नित करने के साथ प्रतीक्षा करें - हो सकता है कि कोई और ओवरले के साथ समस्या को स्वचालित रूप से छिपाने में सक्षम न हो। – mlusiak

+0

@kMike मेरे लिए, ओवरले के साथ समस्या तब शुरू हुई जब मैंने jQuery 1.4.1 से 1.5.2 तक अपग्रेड किया। मैं jqGrid के संस्करण 3.6.4 पर था और 4.0.0 पर स्विच करने का समय नहीं था। ओलेग का फिक्स मेरे लिए काम करता था। – grahamesd