2011-12-29 6 views
0

HTML있는 jqGrid - 크기를 조정하고

<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;}에게.ui-jqgrid .ui-jqgrid-bdiv {overflow: auto;}FROM는 CSS를 변경하면 내가 CSS

  • 을 변경하지 않으면 내가 그리드 크기를 조정할 때 LEM 내가

    • 을 겪고있는 매김 잘 작동합니다 , 페이지 번호 매기기 막대가 레코드간에 흐른다.

    • 내가 CSS를 변경하는 이유는 "Click Me!"를 클릭 할 때 표시되는 오버레이가 있기 때문입니다. 링크를 클릭하십시오. CSS를 변경하면 페이지의 마지막 레코드에 대한 오버레이가 올바르게 표시됩니다. CSS를 변경하지 않으면 페이지의 마지막 레코드에 대한 오버레이가 숨겨집니다. 따라서

    ,

    나는 페이지의 마지막 레코드에 대한 오버레이가

  • 을 숨겨
  • 격자 크기를 조정할 때 나는

    • 매김 잘 작동하는 CSS를 변경하지 마십시오

    I cha NGE는 CSS

    • 매김 바는 내가 페이지의 마지막 레코드에 대한 오버레이 내가 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을 참조하십시오.

    rowid, cellcontent 또는 다른 기준에 따라 div의 콘텐츠를 사용하도록 코드를 쉽게 수정할 수 있습니다.

    그건 그렇고. 사용하는 HTML 코드에서 <html> 전에 <!DOCTYPE html ...을 사용하고 <style>type="text/css" 속성을 사용해야합니다. jqGrid에는 cache: true 옵션이 없습니다.

    +0

    @ SK11 : 질문의 문제점은 무엇입니까? – Oleg

    +0

    @ SK11 : 미안 해요,하지만 stackoverflow에 대한 답변 쓰기 제 일이 아닙니다. 나는 당신의 질문을 잊지 않았습니다. 나는 나중에 자유 시간을 가질 때 질문을 보게 될 것이다. – Oleg

    +0

    올레그, pls 날 좀 도와 줄래 http://stackoverflow.com/questions/9021773/jqgrid-display-an-overlay-when-in-inline-editing-mode – techlead