2011-12-29 12 views
0

HTMLjqgrid -

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>Jquery Grid</title> 
     <link rel="stylesheet" type="text/css" href="themes/redmond/jquery-ui-1.8.1.custom.css" /> 
     <link rel="stylesheet" type="text/css" href="themes/ui.jqgrid.css" /> 
     <link rel="stylesheet" type="text/css" href="themes/ui.multiselect.css" /> 
     <script src="js/jquery-1.6.4.js" type="text/javascript"></script> 
     <script src="js/jquery-ui-1.8.14.custom.min.js" type="text/javascript"></script> 
     <script src="js/jquery.layout.js" type="text/javascript"></script> 
     <script src="js/i18n/grid.locale-en.js" type="text/javascript"></script> 
     <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> 
     <script src="plugins/ui.multiselect.js" type="text/javascript"></script> 
     <script src="plugins/jquery.tablednd.js" type="text/javascript"></script> 
     <script src="plugins/jquery.contextmenu.js" type="text/javascript"></script> 
     <style> 
      .ui-jqgrid .ui-jqgrid-bdiv { 
       overflow: inherit !important; 
      } 
      .overlay{ 
       position: absolute; 
       border: 1px solid black; 
       background-color: black; 
       color: #FFFFFF; 
      } 
     </style> 
    </head> 
    <body> 
     <table id="myjqgrid"></table> 
     <div id="Pager"></div> 
    </body> 
</html> 

JSON

{ 
    "colModel": [ 
     { 
      "name": "Overlay", 
      "label": "Overlay", 
      "width": 60, 
      "align": "left", 
      "jsonmap": "cells.0.value", 
      "sortable": true  
     }, 
     { 
      "name": "ID", 
      "label": "ID", 
      "width": 60, 
      "align": "left", 
      "jsonmap": "cells.1.value", 
      "sortable": true  
     }, 
     { 
      "name": "FirstName", 
      "label": "FirstName", 
      "width": 100, 
      "align": "left", 
      "jsonmap": "cells.2.value", 
      "sortable": false  
     }, 
     { 
      "name": "LastName", 
      "label": "LastName", 
      "width": 100, 
      "align": "left", 
      "jsonmap": "cells.3.value", 
      "sortable": false  
     } 
    ], 
    "colNames": [ 
     "Overlay", 
     "ID", 
     "FirstName", 
     "LastName" 
    ], 
    "mypage": { 
     "outerwrapper": { 
      "page":"1", 
      "total":"1", 
      "records":"20", 
      "innerwrapper": { 
       "rows":[ 
        { 
         "id":"1", 
         "cells": 
         [    
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          }, 
          { 
           "value":"12345", 
           "label": "ID"      
          }, 
          { 
           "value":"David", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Smith", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"2", 
         "cells": 
         [    
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          }, 
          { 
           "value":"37546", 
           "label": "ID"      
          }, 
          { 
           "value":"Willy", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Peacock", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"3", 
         "cells": 
         [    
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          }, 
          { 
           "value":"62345", 
           "label": "ID"      
          }, 
          { 
           "value":"Kim", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Holmes", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"4", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"186034", 
           "label": "ID"      
          }, 
          { 
           "value":"Andy", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Wills", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"5", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"67345", 
           "label": "ID"      
          }, 
          { 
           "value":"Paul", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Lawrence", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"6", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"12906", 
           "label": "ID"      
          }, 
          { 
           "value":"Andy", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Charlery", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"7", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"564565", 
           "label": "ID"      
          }, 
          { 
           "value":"Bets", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Josilyn", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"8", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"34345", 
           "label": "ID"      
          }, 
          { 
           "value":"Pink", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Floyd", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"9", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"3429", 
           "label": "ID"      
          }, 
          { 
           "value":"Rose", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Ben", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"10", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"6668", 
           "label": "ID"      
          }, 
          { 
           "value":"Amy", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Wills", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"11", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"22786", 
           "label": "ID"      
          }, 
          { 
           "value":"Zarine", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Khan", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"12", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"56444", 
           "label": "ID"      
          }, 
          { 
           "value":"Dolly", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Mathews", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"13", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"99453", 
           "label": "ID"      
          }, 
          { 
           "value":"Ginger", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Wills", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"14", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"1234", 
           "label": "ID"      
          }, 
          { 
           "value":"Fabrice", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Papa", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"15", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"45000", 
           "label": "ID"      
          }, 
          { 
           "value":"Helen", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Kites", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"16", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"1255", 
           "label": "ID"      
          }, 
          { 
           "value":"Barbara", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Dorris", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"17", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"5555", 
           "label": "ID"      
          }, 
          { 
           "value":"Eugene", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Mark", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"18", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"1867", 
           "label": "ID"      
          }, 
          { 
           "value":"Harry", 
           "label": "FirstName"  
          }, 
          {       
           "value":"King", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"19", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"45888", 
           "label": "ID"      
          }, 
          { 
           "value":"Lorraine", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Williams", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"20", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"4567777", 
           "label": "ID"      
          }, 
          { 
           "value":"Mark", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Sheppard", 
           "label": "LastName"       
          }                      
         ]  
        }, 
        { 
         "id":"21", 
         "cells": 
         [ 
          { 
           "value":"Click Me!", 
           "label": "Overlay"      
          },    
          { 
           "value":"7777", 
           "label": "ID"      
          }, 
          { 
           "value":"Davis", 
           "label": "FirstName"  
          }, 
          {       
           "value":"Sheppard", 
           "label": "LastName"       
          }                      
         ]  
        } 
       ] 
      } 
     } 
    } 
} 

JQGrid定義

$(document).ready(function() { 
    $.ajax({ 
     type: "GET", 
     url: "myjqgrid.json", 
     data: "", 
     dataType: "json", 
     success: function(response){ 
      var columnData = response.mypage.outerwrapper, 
       columnNames = response.colNames, 
       columnModel = response.colModel; 

      $("#myjqgrid").jqGrid({ 
       datatype: 'jsonstring', 
       datastr: columnData,     
       colNames: columnNames, 
       colModel: columnModel, 
       jsonReader: { 
        root: "innerwrapper.rows",    
        repeatitems: false 
       }, 
       gridview: true, 
       pager: "#Pager", 
       rowNum: 21, 
       rowList: [21], 
       viewrecords: true,    
       recordpos: 'left', 
       multiboxonly: true, 
       multiselect: true, 
       sortname: 'ID', 
       sortorder: "desc", 
       sorttype: "text", 
       sortable: true, 
       caption: "<h2>MY JQGRID</h2>", 
       width: "1406",  
       height: "100%", 
       scrolloffset: 0,  
       loadonce: true,  
       cache: true, 
       loadComplete: function(){ 
        $("td[title = 'Click Me!']").live("click", function(){ 
         $("div.overlay").remove(); 
         var RowID = $(this).closest("tr").attr("id"); 
         if ($(this).siblings("div").length == 0) { 
          $(this).closest("td").append("<div class='overlay' id='"+RowID+"'>This is an overlay.</div>"); 
          $(this).siblings("div#" + RowID).css("display", "block"); 
         } 
        }) 
       } 
      }); 
      $("#myjqgrid").jqGrid('navGrid','#Pager', {add:false, edit:false, del:false, position: 'right'}); 
      $("#myjqgrid").jqGrid('gridResize',{minWidth:800,maxWidth:1405,minHeight:350,maxHeight:680});    
     } 
    }); 
}); 

PROBのサイズを変更し、オーバーレイ私は.ui-jqgrid .ui-jqgrid-bdiv {overflow: inherit !important;} TO.ui-jqgrid .ui-jqgrid-bdiv {overflow: auto;}FROM CSSを変更した場合、私はCSS

  • を変更しない場合、私は、グリッドのサイズを変更するときLEM私は

    • を有するAM THAT改ページが正常に動作します、ページ区切りバーがレコード間を流れる。

    • 私はCSSを変更している理由は "Click Me!"をクリックすると表示されるオーバーレイがあるからです。リンクはすべての行の2番目の列にあります。 CSSを変更すると、ページ上の最後のレコードのオーバーレイが正しく表示されます。 CSSを変更しないと、ページ上の最後のレコードのオーバーレイが非表示になります。したがって

    私はページの最後のレコードのオーバーレイが

  • を隠されている
  • グリッドのサイズを変更するとき、私は

    • 改ページが正常に動作CSSを変更しないでください

    I cha

    • ページネーションバーが、私は、グリッド
    • のサイズを変更するとページの最後のレコードのオーバーレイが正しく

    表示されたレコードの間に表示されるCSS NGE私は、CSSのポジショニングを使用してみましたし、オーバーレイのZ-インデックスが動作しませんでした。

  • +0

    申し訳ありませんが、あなたが 'Click Me! 'というタイトルの'​​'セルに置いたオーバーレイの意味を理解していません。 '.ui-jqgrid .ui-jqgrid-bdiv {overflow:inherit!important;}'の使い方は間違った方法です。さらに、おそらく 'ui-widget-overlay'クラスを使用して、使用するjQuery UI CSSと互換性があるはずです。あなたを助けることができる何らかの方法で、私はまずあなたが達成しようとしているものを理解する必要があります。 – Oleg

    +0

    オーバーレイはすべての行に固有であるため、オーバーレイは '​​'セルに配置されます。オーバーレイをトリガーするには、「Click Me!」というテキストがあります。細胞内でこれは、テキストの代わりにイメージでもあります。私はすべてのコードを投稿しました。私はあなたのデモリンクを作成する方法を知らない。オーバーレイは、ページ区切りバーの下に隠れるページの最後の行を除いて正常に機能します。 – techlead

    +0

    ユーザーが「オーバーレイ」列からセルをクリックすると、情報を含むdivを表示しますか?ユーザーがグリッドの他の行を選択した場合、divは表示されたままになりますか?あなたの問題はクリックしたポイントの近くにdivを表示するだけですが、グリッド全体にページャーを含めて表示しますか? divのサイズが大きい場合は、ページの他の要素と同じにする必要がありますか? – Oleg

    答えて

    1

    私が正しくあなたを理解していれば、あなたがloadCompleteで、次の

    onCellSelect: function (rowid, iCol, cellcontent, e) { 
        $("#myoverlay").remove(); 
        if (this.p.colModel[iCol].name === 'Overlay') { // iCol === 1 
         $('<div class="overlay" id="myoverlay">This is an overlay.</div>').css({ 
          top: e.pageY, 
          left: e.pageX 
         }).appendTo('body'); 
        } 
    } 
    

    の代わりに、コードのような何かをする必要があります。重要なのは、上のコードは<td>要素の代わりに<body>にdivを追加することです。対応する位置にdivを配置するには、クリックのeventを使用するだけです。

    デモhereをご覧ください。

    rowidcellcontentまたはその他の条件によってdivの内容を使用するようにコードを簡単に変更できます。

    ところで、あなたが使用するHTMLコードでは<html>の前に<!DOCTYPE html ...を使用し、<style>にはtype="text/css"という属性を使用する必要があります。 jqGridにはcache: trueオプションはありません。

    +0

    @ SK11:この問題の問題は何ですか? – Oleg

    +0

    @ SK11:申し訳ありませんが、stackoverflowでの回答の書き込みは私の仕事ではありません。私はあなたの質問を忘れていません。後で私は自由時間を持って質問をします。 – Oleg

    +0

    Oleg、plsで私を助けてくれるhttp://stackoverflow.com/questions/9021773/jqgrid-display-an-overlay-when-in-inline-editing-mode – techlead