2012-03-05 5 views
1

이 JSP 페이지가 있습니다. 내가 그것을 실행할 때 어떤 오류도 발생하지 않는다. 그러나 데이터 그리드를 사용하여 데이터를 가져 오지 마십시오.dojox.grid.DataGrid 데이터가 표시됩니다.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<%@ page import="MyPackage.PopulateTextbox" %> 
<%@ page import="java.sql.*" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<style type="text/css"> 
@import "http://localhost:8080/2_8_2012/js/dojo/resources/dojo.css"; 

@import "http://localhost:8080/2_8_2012/js/dijit/themes/nihilo/nihilo.css"; 
</style> 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.4/dojo/dojo.xd.js" djConfig="isDebug: false, parseOnLoad: true"></script> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<script type="text/javascript"> 

dojo.require("dojox.grid.DataGrid"); 
dojo.require("dojo.data.ItemFileReadStore"); 
dojo.require("dojo.data.ItemFileWriteStore"); 
</script> 
<% 
String temp1; 
PopulateTextbox obj = new PopulateTextbox(); 
temp1 = obj.method(); 
request.setAttribute("variable", temp1); 
%> 

<script type="text/javascript"> 
dojo.ready(function(){ 
var myVar = <%= request.getAttribute("variable") %> 
var storedata={ 
      identifier:"table1", 
      label:"name", 
      items: myVar 
    }; 

var store = new dojo.data.ItemFileReadStore({data: storedata}); 
    var gridStructure =[[ 

         { field: "ID", 
          name: "ID_Emp", 
          width: "40%" 
         }, 
         { 
          field: "Names", 
          name: "Name", 
          width: "40%" 
         } 

       ] 
      ]; 


    var grid = new dojox.grid.DataGrid({ 
      id: 'grid', 
      store: store, 
      structure: gridStructure, 
      }); 
      //document.createElement('div')); 

     /*append the new grid to the div*/ 
     //dojo.byId("gridDiv").appendChild(grid.domNode); 

     /*Call startup() to render the grid*/ 
     grid.startup(); 
}); 
</script> 

<title>Dojo Data</title> 
</head> 
<body> 
<div jsid="grid" id="mygrid" dojoType="dojox.grid.DataGrid" title="Simple Grid" style="width: 500px; height: 150px;"> 
</div> 


</body> 
</html> 

이 페이지를 실행할 때. 그리고 :: 다음은 소스보기 페이지에서와 같이

내가 myVar에 데이터를 가지고
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<style type="text/css"> 
@import "http://localhost:8080/2_8_2012/js/dojo/resources/dojo.css"; 

@import "http://localhost:8080/2_8_2012/js/dijit/themes/nihilo/nihilo.css"; 
</style> 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.4/dojo/dojo.xd.js" djConfig="isDebug: false, parseOnLoad: true"></script> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<script type="text/javascript"> 

dojo.require("dojox.grid.DataGrid"); 
dojo.require("dojo.data.ItemFileReadStore"); 
</script> 


<script type="text/javascript"> 
var myVar = [{"ID":1,"Names":"Shantanu"},{"ID":2,"Names":"Mayur"},{"ID":3,"Names":"Rohit"},{"ID":4,"Names":"Jasdeep"},{"ID":5,"Names":"Rakesh"}]; 
var storedata={ 
      identifier:"table1", 
      label:"name", 
      items: myvar 
    }; 
    var gridStructure =[{ 
    cells:[ 
       [ 
         { field: "ID", 
          name: "ID_Emp", 
          width: "40%", styles: 'text-align: right;' 
         }, 
         { 
          field: "Names", 
          name: "Name", 
          width: "40%", styles: 'text-align: right;' 
         } 

       ] 
      ] 
    }]; 
</script> 

<title>Dojo Data</title> 
</head> 
<body class=nihilo> 

<div style="width: 400px; height: 300px;"> 
    <div data-dojo-type="dojo.data.ItemFileReadStore" data-dojo-id="countryStoreForGrid" data-dojo-props="data:storedata"></div> 
    <div id="grid" 
    data-dojo-type="dojox.grid.DataGrid" 
    data-dojo-props="store:countryStoreForGrid, 
    structure:'gridStructure', 
    rowsPerPage:40"> 
    </div> 
</div> 

</body> 
</html> 

(JSP 페이지의 항목에 사용) 내가 얻을 소스보기로 이동합니다. 그러나 여전히 아무것도 화면에 표시되지 않습니다. 내 HTML BODY 태그에 오류가 있습니까? ? 이걸 도와주세요. 감사.

답변

0

html 코드에는 몇 가지 버그가 있습니다. 당신이 올렸습니다.

저장소 데이터의 식별자가 잘못되었습니다 (Vijay가 지적했듯이).

myVar에 내가 미꾸라지 1.4 속성 데이터 - HTML5의 사용 믿지 않는 myVar에

과 동일하지 않습니다, 그래서 내가 그리드 스타일 시트를 추가 1.7

사용하는 코드를 업데이트

<html> 
<head> 
<style type="text/css"> 
    @import "http://ajax.googleapis.com/ajax/libs/dojo/1.7/dojo/resources/dojo.css"; 
    @import "http://ajax.googleapis.com/ajax/libs/dojo/1.7/dijit/themes/nihilo/nihilo.css"; 
    @import "http://ajax.googleapis.com/ajax/libs/dojo/1.7/dojox/grid/resources/Grid.css"; 
    @import "http://ajax.googleapis.com/ajax/libs/dojo/1.7/dojox/grid/resources/nihiloGrid.css"; 
</style> 

<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.7/dojo/dojo.js" data-dojo- config="isDebug: true, parseOnLoad: true"></script> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<script type="text/javascript"> 

dojo.require("dojox.grid.DataGrid"); 
dojo.require("dojo.data.ItemFileReadStore"); 
</script> 

<script type="text/javascript"> 
var myVar = [{"ID":1,"Names":"Shantanu"},{"ID":2,"Names":"Mayur"},{"ID":3,"Names":"Rohit"},{"ID":4,"Names":"Jasdeep"},{"ID":5,"Names":"Rakesh"}]; 
var storedata={ 
    identifier: "ID", // This is the property that gives a unique id accross all items. 
    label:  "name", 
    items:  myVar 
}; 
var gridStructure =[[ 
    { 
    field: "ID", 
    name: "ID_Emp", 
    width: "40%", styles: 'text-align: right;' 
    }, 
    { 
    field: "Names", 
    name: "Name", 
    width: "40%", styles: 'text-align: right;' 
    } 
]]; 
</script> 

<title>Dojo Data</title> 
</head> 
<body class="nihilo"> 

<div style="width: 400px; height: 300px;"> 
    <div data-dojo-type="dojo.data.ItemFileReadStore" data-dojo-id="countryStoreForGrid" data-dojo-props="data:storedata"></div> 
    <div id="grid" 
data-dojo-type="dojox.grid.DataGrid" 
data-dojo-props="store:countryStoreForGrid, structure:gridStructure, rowsPerPage:40"> 
    </div> 
</div> 

</body> 
</html> 
+0

Ks..Thanks .. 필요한 변경을 수행하고 작동하는지 확인합니다. 선생님, 그 외에는 태그 안에있는 HTML 코드가 맞습니다. 거기에 추가해야 할 것이 있거나 DojoDataGrid를 작동시키는 것을 잊고 있습니까? –

+0

그것은 선생님이 ... 고마워요 –

+0

선생님이 도와 줄 수 있습니다 : http://stackoverflow.com/questions/9579428/perform-an-event-on-selecting-a-prticular-row-in-dojox- 그리드 - 데이터 그리드 –

관련 문제