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> 

私はこのページを実行します。それはソースを表示ページに示して、私は次の取得ソースの表示に行く::

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

私はmyVarを(JSPページ内の項目のために使用される)内のデータを持っています。しかしまだ何も画面に表示されません。 HTML BODYタグにエラーがありますか? ?これで私を助けてください。ありがとう。

答えて

0

は詳細

ため http://livedocs.dojotoolkit.org/dojo/data/ItemFileReadStoreを参照識別子は、データに一意の識別子として使用されるアイテムに属性を指定すること

var storedata={ 
     identifier:"table1", 

var storedata={ 
     identifier:"ID", 

への注意を変更してみてください
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-グリッドデータグリッド –

関連する問題