2010-10-29 26 views
13

Tôi gặp vấn đề tiếp theo sau this post.jqGrid overlay problem

Sau khi tải dữ liệu, lớp phủ màu xám bao gồm mọi thứ trên trang, nhưng dữ liệu lưới. Id div css chịu trách nhiệm cho điều đó là lui_list. Bất kỳ ý tưởng, làm thế nào để giải quyết điều này?

Đó là cách tôi đang chạy 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> 

Và html tiêu đề:

<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> 

Bất kỳ trợ giúp sẽ được đánh giá cao.

Trả lời

32

Bạn đã quên bao gồm tệp css-jss cụ thể! Sau khi đưa tệp này vào, sự cố của bạn được giải quyết.

+0

Cảm ơn bạn !! Nó luôn luôn là những việc nhỏ ... – Benny

+0

Wow. Tôi cảm thấy ngu ngốc vì không thấy điều đó. Cảm ơn bạn vì sự giúp đỡ. – JasCav

+0

frickin là một điều khó chịu. không được sử dụng cho tệp .css bị thiếu gây ra lớp phủ màu xám xuất hiện. – Lee

10

Tôi không biết lý do tại sao lớp phủ sẽ vẫn hiển thị sau khi kết thúc tải. Tôi chỉ có thể giả sử rằng bạn sử dụng một số lớp CSS như "tải" được sử dụng trong quá trình tải jqGrid. Độc lập với lý do bạn có thể khắc phục vấn đề rất dễ dàng. Bạn chỉ nên ẩn div tương ứng với mã sau, ví dụ:

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

Xin chào Oleg. Cảm ơn một lần nữa vì sự giúp đỡ của bạn. Điều này thực sự giải quyết vấn đề. Tôi sẽ bỏ phiếu, nhưng chờ đợi với đánh dấu là câu trả lời - có thể ai đó khác sẽ có thể tìm thấy vấn đề với lớp phủ không ẩn tự động. – mlusiak

+0

@kMike Đối với tôi, vấn đề với lớp phủ đã bắt đầu khi tôi nâng cấp từ jQuery 1.4.1 lên 1.5.2. Tôi đã trên phiên bản 3.6.4 của jqGrid và không có thời gian để chuyển sang 4.0.0. Bản sửa lỗi của Oleg đã làm việc cho tôi. – grahamesd